Невозможно запустить службу очереди сообщений из-за проблемы с хранилищем сообщений.

Microsoft.MSMQ.10.0.Rule.Alert.Event2023 (Rule)

Knowledge Base article:

Сводка

Невозможно запустить службу очереди сообщений из-за проблемы с хранилищем сообщений.

Конфигурация

Создание резервной копии и восстановление сообщений из службы очереди сообщений с помощью командной строки

В командной строке введите следующую команду, а затем нажмите клавишу ВВОД:

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 выполняет резервное копирование или восстановление всех сообщений очереди сообщений, сохраненных на локальном компьютере, на которые ссылаются общие очереди, но для самих общих очередей необходимо выполнить резервное копирование или восстановление независимо от этой программы.

Эта служебная программа выполняет резервное копирование восстанавливаемых и транзактных сообщений, включая сообщения в исходящих очередях. Она не выполняет резервное копирование или восстановление экспресс-сообщений.

Эта служебная программа не выполняет резервное копирование сертификата и информации криптографического ключа.

После операции восстановления необходимо зарегистрировать новый сертификат пользователя. Дополнительную информацию о регистрации сертификата см. в разделе "Дополнительные источники".

Эта служебная программа останавливает и перезапускает службу очереди сообщений, что приводит к потере всех экспресс-сообщений. Дополнительную информацию об экспресс-сообщениях см. в разделе "Дополнительные источники".

Если приложение COM+ было вызвано правилом, которое привязано к триггеру, может произойти сбой восстановления сообщений с ошибкой "Отказано в доступе". Для устранения этой проблемы выполните следующие действия.

На компьютерах с Windows Vista® запустите mqbkup из командной строки. Для этого требуются права локального администратора.

Убедитесь, что все приложения и службы пользователя, которые используют API MSMQ, остановлены.

Если все еще не удается выполнить восстановление сообщений, подождите 10 минут и повторите попытку. Приложениям COM+ может потребоваться до 10 минут, чтобы выгрузиться из памяти после того, как все объекты будут разблокированы.

Дополнительно

Дополнительные сведения см. в разделе "Архивация и восстановление сообщений" ( http://technet.microsoft.com/ru-ru/library/cc771016(WS.10).aspx).

Дополнительные сведения см. в разделе "Регистрация сертификатов для очереди сообщений" ( http://technet.microsoft.com/ru-ru/library/cc753651(WS.10).aspx).

Дополнительные сведения см. в разделе "Методы доставки сообщений" ( http://technet.microsoft.com/ru-ru/library/cc771721(WS.10).aspx).

Element properties:

TargetMicrosoft.MSMQ.10.0.Servers
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
Невозможно запустить службу очереди сообщений из-за проблемы с хранилищем сообщений.
{0}
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.MSMQ.10.0.Rule.Alert.Event2023" Enabled="false" Target="Microsoft.MSMQ.10.0.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>EventSourceName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="Microsoft.MSMQ.10.0.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.10.0.Rule.Alert.Event2023.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>