Действие, определенное правилом, не было вызвано.
Диагностика
Сбой вызова правила триггера очереди сообщений мог произойти по нескольким причинам. Эта ошибка может быть вызвана одним из следующих условий.
Недопустимое условие или параметр действия правила.
Неправильно зарегистрирован объект модели COM, вызываемый правилом.
Не удалось найти исполняемый файл, указанный в правиле, или он не работает.
Для выполнения этих процедур нужно быть членом группы "Администраторы" или обладать соответствующими делегированными полномочиями.
Недопустимое условие или параметр действия правила
Чтобы определить действительность условия или параметра действия правила, выполните следующие действия.
Откройте оснастку "Управление компьютером". Чтобы открыть оснастку "Управление компьютером", нажмите кнопку "Пуск". В поле поиска введите compmgmt.msc и нажмите клавишу ВВОД.
В дереве консоли последовательно разверните "Службы и приложения", "Очередь сообщений" и "Триггеры".
В пункте "Триггеры очереди сообщений" нажмите "Триггеры".
Чтобы просмотреть свойства правила, которое необходимо выполнить, нажмите на него правой кнопкой.
Перейдите на вкладку "Общие". Убедитесь, что правило указывает на желаемую очередь и выбран правильный тип обработки.
Перейдите на вкладку "Присоединенные правила" и убедитесь, что присоединены предполагаемые правила.
Для отображения списка доступных правил в пункте "Триггеры" нажмите "Правила".
Правой кнопкой мыши щелкните на правилах, которые необходимо выполнить с триггером, и просмотрите их свойства.
На вкладке "Условия правил" подтвердите, что условия правил соответствуют желаемым.
На вкладке "Действие правила" подтвердите, что правило указывает на желаемое действие.
Если определено, что проблемой является условие или параметр правила, см. раздел под названием "Настройка правил или триггеров".
Вызванный правилом COM-объект зарегистрирован неверно
Чтобы определить, правильно ли зарегистрирован COM-объект, выполните следующие действия.
Откройте оснастку "Службы компонентов". Чтобы открыть оснастку "Службы компонентов", нажмите кнопку "Пуск" и щелкните "Запустить". В открывшемся поле введите comexp.msc и нажмите клавишу ВВОД.
В дереве консоли последовательно разверните элементы "Службы компонентов", "Компьютеры", "Мой компьютер" и щелкните "Приложения COM+".
Подтвердите, что ваш компонент COM присутствует и зарегистрирован.
Если вы определите, что объекты COM не зарегистрированы должным образом, см. раздел под названием "Регистрация компонентов COM+".
Не удалось найти исполняемый файл, указанный в правиле, или он нерабочий
Чтобы определить, что исполняемый файл существует и работает, выполните следующие действия.
Откройте проводник и перейдите к указанному в событии исполняемому файлу. Убедитесь, что файл существует и работает должным образом.
Определите, ссылается ли правило должным образом на исполняемый файл. Откройте оснастку "Управление компьютером". Чтобы открыть оснастку "Управление компьютером", нажмите кнопку "Пуск". В поле поиска введите comexp.msc и нажмите клавишу ВВОД.
В дереве консоли последовательно разверните узлы "Управление компьютером", "Службы и приложения", "Очередь сообщений", "Триггеры", "Правила", а затем нажмите "Правила".
Правой кнопкой мыши нажмите на указанном в сообщении об ошибке правиле и нажмите "Свойства".
На вкладке "Действие правила" в пункте "Вызов исполняемого файла" убедитесь, что файл, перечисленный в пути к исполняемому файлу, существует и ему предшествует полный путь. Например, вместо "MyApp.exe" должно быть указано "c:\MyDirectory\MyApp.exe".
Если определено, что возникла проблема с исполняемым файлом, см. раздел "Удаление и повторное создание правила".
Дополнительные сведения о создании правил триггера см. в разделе "Создание триггеров и присоединение правил к ним" ( http://go.microsoft.com/fwlink/?LinkId=104059).
Настройка правил или триггеров
Условия правил или триггеры необходимо настроить должным образом. Если желаемое правило или параметры триггеров неизвестны, может возникнуть необходимость связаться с разработчиком решения.
Для выполнения этой процедуры нужно быть членом группы "Администраторы" либо обладать соответствующими делегированными полномочиями.
Чтобы проверить или изменить правила либо триггеры, выполните следующие действия.
Откройте оснастку "Управление компьютером". Чтобы открыть оснастку "Управление компьютером", нажмите кнопку "Пуск". В поле поиска введите compmgmt.msc и нажмите клавишу ВВОД.
Последовательно разверните "Службы и приложения", "Очередь сообщений", а затем "Триггеры".
В пункте "Триггеры очереди сообщений" нажмите "Триггеры".
Правой кнопкой мыши нажмите на правиле, которое необходимо выполнить, и нажмите "Свойства".
Перейдите на вкладку "Общие". Убедитесь, что правило указывает на желаемую очередь и выбран правильный тип обработки.
Перейдите на вкладку "Присоединенные правила" и убедитесь, что присоединены предполагаемые правила.
Для отображения списка доступных правил в пункте "Триггеры" нажмите "Правила".
Правой кнопкой мыши щелкните на правилах, которые необходимо выполнить с триггером, и просмотрите их свойства.
На вкладке "Условия правил" подтвердите, что условия правил соответствуют желаемым.
На вкладке "Действие правила" подтвердите, что правило указывает на желаемое действие.
Для каждого правила повторите шаги с 7 по 10.
Регистрация объекта COM+
Вызванный правилом объект COM+ зарегистрирован неверно. Чтобы снова зарегистрировать объект, можно воспользоваться служебной программой командной строки regsvr32.exe. Дополнительные сведения об использовании regsvr32 см. в статье 249873 базы знаний Майкрософт ( http://go.microsoft.com/fwlink/?LinkId=107513).
Для выполнения этой процедуры нужно быть членом группы "Администраторы" либо обладать соответствующими делегированными полномочиями.
Чтобы зарегистрировать объект COM+, сделайте следующее:
Запустите regsvr32.exe. Чтобы запустить regsvr32.exe, нажмите кнопку "Пуск". В поле поиска введите "cmd" и нажмите клавишу ВВОД.
В командной строке введите "regsvr32 <ваша библиотека COM+ component.dll>", а затем нажмите клавишу ВВОД.
Удаление и повторное создание правила
Не удалось найти исполняемый файл, указанный в правиле, или он не работает. Для решения этой проблемы попробуйте удалить и повторно создать указанное правило.
Для выполнения этой процедуры нужно быть членом группы "Администраторы" либо обладать соответствующими делегированными полномочиями.
Чтобы удалить и повторно создать указанное правило, сделайте следующее:
Откройте оснастку "Управление компьютером". Чтобы открыть оснастку "Управление компьютером", нажмите кнопку "Пуск". В поле поиска введите compmgmt.msc и нажмите клавишу ВВОД.
В дереве консоли последовательно разверните узлы "Управление компьютером", "Службы и приложения", "Очередь сообщений", "Триггеры", "Правила", а затем нажмите "Правила".
Выберете правило, указанное в сообщении об ошибке, и дважды щелкните на нем.
Убедитесь, что в правиле указан полный путь для исполняемого файла.
Дополнительные сведения о создании правил триггера см. в разделе "Создание триггеров и присоединение правил к ним" ( http://go.microsoft.com/fwlink/?LinkId=104059).
Дополнительные сведения см. в событии с ИД 2209 ( http://technet.microsoft.com/ru-ru/library/dd337501(WS.10).aspx)
Target | Microsoft.MSMQ.10.0.Triggers | ||
Category | AvailabilityHealth | ||
Enabled | False | ||
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 |
Alert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.MSMQ.10.0.Rule.Alert.Event2209" Enabled="false" Target="Microsoft.MSMQ.10.0.Triggers" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>AvailabilityHealth</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2209</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">EventSourceName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type="Microsoft.MSMQ.10.0.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertName/>
<AlertDescription/>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.MSMQ.10.0.Rule.Alert.Event2209.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
<Custom1/>
<Custom2/>
<Custom3/>
<Custom4/>
<Custom5/>
<Custom6/>
<Custom7/>
<Custom8/>
<Custom9/>
<Custom10/>
</WriteAction>
</WriteActions>
</Rule>