Как можно восстановить очереди сообщений с вышедшей из строя машины, чтобы транзакционные сообщения можно было восстановить на новой машине?
Остановите службу MSMQ на исходном и конечном компьютерах:
чистая остановка MSMQ
Удалите следующую папку на конечном компьютере и замените ее содержимым соответствующей папки на исходном компьютере:
C: \ Windows \ System32 \ msmq
Предоставьте доступ к скопированной папке в целевой службе MSMQ:
icacls.exe "C: \ Windows \ System32 \ msmq" / грант "NT SERVICE \ MSMQ" :( F)
Настройте MSMQ для игнорирования файлов контрольных точек:
Перейдите к HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSMQ \ Parameters, а затем щелкните Параметры. В меню «Правка» наведите указатель на пункт «Создать» и выберите «Значение DWORD (32-разрядное)». В поле «Имя» введите «LogDataCreated» и убедитесь, что значение установлено на 0.
Откройте свойства очереди в следующем месте. Файлы являются текстовыми и открываются с помощью блокнота.
C: \ Windows \ System32 \ msmq \ хранилище \ lqs
Измените поле «Безопасность», чтобы оно соответствовало полю из рабочей очереди. Ниже приведен пример:
Безопасность = 0100078 ... и т. Д.
Перезапустите службу MSMQ на конечном компьютере:
чистый старт MSMQ
Исправление проблем:
Ссылки:
http://technet.microsoft.com/en-us/library/cc733512.aspx
http://blog.aggregatedintelligence.com/2012/03/msmqsecurity-descriptor-cannot-be-set.html