Невозможно запустить службу очереди сообщений из-за проблемы с хранилищем сообщений.
Создание резервной копии и восстановление сообщений из службы очереди сообщений с помощью командной строки
В командной строке введите следующую ниже команду, а затем нажмите клавишу ВВОД:
mqbkup {-bfolderpath | -rfolderpath| -?} [-y] [-cmsmq_resource_name]
Â
Значение | Описание |
-bfolderpath | выполняет резервное копирование файлов в указанную папку |
-rfolderpath | восстанавливает файлы из указанной папки |
-y | не спрашивать (да — для всех) |
-cmsmq_resource_name | используется, когда служба MSMQ настроена как кластерный ресурс. Укажите имя кластерного ресурса MSMQ |
-? | отображает справку для этой служебной программы |
Хранилище сообщений является причиной проблем со службой очереди сообщений.
Перед восстановлением сообщений необходимо закрыть панель управления и все приложения очереди сообщений или любое приложение, которое держит открытым дескриптор раздела реестра HKLM\Software\MSMQ\Parameters. Такие приложения обычно содержат консоль управления компьютером, если загружена оснастка очереди сообщений, службу триггеров MSMQ, службу очереди сообщений и некоторые сторонние приложения.
Примечание. Закрытие панели управления не выполняется в Windows XP и последующих версиях, так как они не содержат расширение панели управления MSMQ. |
Дополнительные вопросы
• | Служебная программа Mqbkup не может быть использована для резервного копирования или восстановления объектов, сохраненных в доменных службах Active Directory. Таким образом, служебная программа Mqbkup не может выполнять резервное копирование или восстановление общих очередей, так как общие очереди являются объектами в доменных службах Active Directory. Служебная программа Mqbkup выполняет резервное копирование или восстановление всех сообщений очереди сообщений, сохраненных на локальном компьютере, на которые ссылаются общие очереди, но для самих общих очередей необходимо выполнить резервное копирование или восстановление независимо от служебной программы Mqbkup. |
• | Эта служебная программа выполняет резервное копирование восстанавливаемых и транзактных сообщений, включая сообщения в исходящих очередях. Она не выполняет резервное копирование или восстановление экспресс-сообщений. |
• | Эта служебная программа не выполняет резервное копирование сертификата и информации криптографического ключа. |
• | После операции восстановления необходимо зарегистрировать сертификат нового пользователя. Дополнительную информацию о регистрации сертификата см. в разделе "Дополнительные источники". |
• | Эта служебная программа останавливает и перезапускает службу очереди сообщений, что приводит к потере всех экспресс-сообщений. Дополнительную информацию об экспресс-сообщениях см. в разделе "Дополнительные источники". |
• | Если приложение COM+ было вызвано правилом, которое привязано к триггеру, может произойти сбой восстановления сообщений с ошибкой "Отказано в доступе". Для устранения этой проблемы выполните следующие действия. |
• | На компьютерах с Windows Vista® запустите mqbkup из командной строки, которая работает с правами локального администратора. |
• | Убедитесь, что все приложения и службы пользователя, которые используют API MSMQ, остановлены. |
• | Если все еще не удается выполнить восстановление сообщений, подождите 10 минут и повторите попытку. Приложениям COM+ может потребоваться до 10 минут, чтобы выгрузиться из памяти после того, как все объекты будут разблокированы. |
Дополнительные сведения см. в разделе "Резервное копирование и восстановление сообщений" ( http://technet.microsoft.com/en-us/library/cc771016(WS.10).aspx).
Дополнительные сведения см. в разделе "Регистрация сертификатов для очереди сообщений" ( http://technet.microsoft.com/en-us/library/cc753651(WS.10).aspx).
Дополнительные сведения см. в разделе "Методы доставки сообщений" ( http://technet.microsoft.com/en-us/library/cc771721(WS.10).aspx).
Target | Microsoft.MSMQ.6.3.Servers | ||
Category | AvailabilityHealth | ||
Enabled | False | ||
Event_ID | 2023 | ||
Event Source | $Target/Property[Type="Microsoft.MSMQ.6.3.ServerRole"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.MSMQ.6.3.Rule.Alert.Event2023" Enabled="false" Target="Microsoft.MSMQ.6.3.Servers" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>AvailabilityHealth</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="Microsoft.MSMQ.6.3.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2023</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.MSMQ.6.3.Rule.Alert.Event2023.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>