Назад | Перейти на главную страницу

MSMQ Disaster Recovery - Как восстановить очереди сообщений с разбитой машины?

Как можно восстановить очереди сообщений с вышедшей из строя машины, чтобы транзакционные сообщения можно было восстановить на новой машине?

Остановите службу 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

Исправление проблем:

  • Сбой при записи файлов назначения: перейдите по вложенным папкам назначения, чтобы проводник запросил разрешение доступа.
  • Некоторые сообщения могут дублироваться, так как файлы контрольных точек были удалены.
  • Если можно просмотреть список сообщений, но не содержимое самого сообщения, необходимо изменить поле «безопасность» в свойствах очереди.

Ссылки:

Интерпретация имен файлов в каталоге хранилища на сервере очереди сообщений Microsoft и в очереди сообщений Microsoft

http://technet.microsoft.com/en-us/library/cc733512.aspx

http://blog.aggregatedintelligence.com/2012/03/msmqsecurity-descriptor-cannot-be-set.html