Disaster-Recovery
MSMQ 災難恢復 - 如何從崩潰的機器中恢復消息隊列?
如何從崩潰的機器中恢復消息隊列,以便可以在新機器上恢復事務消息?
在源電腦和目標電腦上停止 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