クラッシュしたマシンからメッセージキューを回復して、トランザクションメッセージを新しいマシンに復元するにはどうすればよいですか?
ソースマシンと宛先マシンの両方でMSMQサービスを停止します。
ネットストップMSMQ
移行先マシンの次のフォルダを削除し、移行元マシンの対応するフォルダの内容に置き換えます。
C:\ Windows\System32\msmq
宛先MSMQサービス上のコピーされたフォルダーへのアクセスを許可します。
icacls.exe "C:\ Windows\System32\msmq"/grant "NT SERVICE\MSMQ" :( F)
チェックポイントファイルを無視するようにMSMQを構成します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parametersを参照し、[パラメーター]をクリックします。 [編集]メニューの[新規]をポイントし、[DWORD(32ビット)値]をクリックします。 「名前」フィールドに「LogDataCreated」と入力し、値が0に設定されていることを確認します。
次の場所でキューのプロパティを開きます。ファイルはテキストであり、メモ帳で開くことができます。
C:\ Windows\System32\msmq\storage\lqs
[セキュリティ]フィールドを変更して、作業キューのフィールドと一致させます。以下に例を示します。
セキュリティ= 0100078 ...など
宛先マシンでMSMQサービスを再起動します。
ネットスタートMSMQ
トラブルシューティング:
参照:
MicrosoftメッセージキューサーバーおよびMicrosoftメッセージキューイングのストレージディレクトリ内のファイル名の解釈
http://technet.Microsoft.com/en-us/library/cc733512.aspx
http://blog.aggregatedintelligence.com/2012/03/msmqsecurity-descriptor-cannot-be-set.html