Невозможно запустить службу очереди сообщений. Невозможно повторно загрузить файл сообщений и файл журнала.
Службе MSMQ необходимы разрешения на доступ к файлам контрольных точек и журнала. Если служба имеет необходимые права, а ошибка все равно возникает, тогда, вероятно, файл поврежден. Чтобы запустить службу MSMQ без потери согласованности, необходимо исправить или восстановить поврежденные файлы контрольных точек и журнала.
Исправьте или восстановите поврежденные файлы журнала и контрольных точек
Для выполнения данной процедуры необходимо быть членом группы Администраторы либо обладать соответствующими делегированными полномочиями.
Чтобы исправить или восстановить поврежденные файлы журналов и контрольных точек, выполните следующие действия.
Внимание! Неправильное редактирование реестра может существенно повредить систему. Прежде чем вносить изменения в реестр, сделайте резервные копии ценных данных.
Чтобы запустить службу для использования в чрезвычайных ситуациях (с потенциальной утратой согласованности данных), перейдите к папке %windir%\System32\msmq\storage, а затем удалите следующие файлы: QMLog, MQTrans.lg1, MQTrans.lg2, MQInSeqs.lg1, MQInSeqs.lg2.
Откройте редактор реестра. Чтобы открыть редактор реестра, нажмите кнопку Пуск. В поле поиска введите regedit и нажмите клавишу ВВОД.
Создайте запись реестра DWORD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\LogDataCreated, а затем установите для нее значение 0.
Если ошибка продолжает возникать, запишите сведения, приведенные в сообщении о событии, а затем обратитесь в службу поддержки пользователей Майкрософт (CSS). Сведения о том, как связаться со службой поддержки пользователей Майкрософт, см. в разделе "Поддержка предприятий" ( http://go.microsoft.com/fwlink/?LinkId=52267).
Дополнительные сведения см. в событии с ИД 2083 ( http://technet.microsoft.com/en-us/library/dd337408(WS.10).aspx)
Target | Microsoft.MSMQ.6.3.Servers | ||
Category | AvailabilityHealth | ||
Enabled | False | ||
Event_ID | 2083 | ||
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.Event2083" 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>2083</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.Event2083.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>