Disaster-Recovery

MSMQ 災難恢復 - 如何從崩潰的機器中恢復消息隊列?

  • October 9, 2013

如何從崩潰的機器中恢復消息隊列,以便可以在新機器上恢復事務消息?

在源電腦和目標電腦上停止 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

引用自:https://serverfault.com/questions/392259