The Message Queuing service cannot start due to problem with message store.
To backup and restore Message Queuing messages using a command line
At a command prompt, type the following, and then press ENTER:
mqbkup {-bfolderpath | -rfolderpath| -?} [-y] [-cmsmq_resource_name]
Value | Description |
-bfolderpath | backs up the files to the specified folder |
-rfolderpath | restores the files from the specified folder |
-y | don't prompt (yes to all questions) |
-cmsmq_resource_name | used when MSMQ is configured as a clustered resource, specify the clustered MSMQ resource name |
-? | displays help for the utility |
The Message store is causing problems to the Message Queuing Service.
Before restoring messages, you must close Control Panel and all Message Queuing applications or any application that holds open a registry key handle to the HKLM\Software\MSMQ\Parameters registry key. Such applications typically include the Computer Management console if the Message Queuing snap-in is loaded, the MSMQ trigger service, the Message Queuing service, and some third party applications.
Note: Closing the control panel is not an issue on Windows XP and above because these versions of Windows do not include an MSMQ control panel extension. |
Additional considerations
• | The Mqbkup utility cannot be used to backup or restore objects stored in Active Directory Domain Services. Therefore, the Mqbkup utility cannot backup or restore public queues since public queues are objects in Active Directory Domain Services. The Mqbkup utility does backup or restore any Message Queuing messages stored on the local computer that are referenced by public queues but the public queues themselves must be backed up or restored independently of the Mqbkup utility. |
• | This utility backs up recoverable and transactional messages; including those in the outgoing queues. It does not back up or restore express messages. |
• | Certificate and cryptographic key information is not backed up using this utility. |
• | After a restore operation, you must register a new user certificate. For information about how to register a certificate, see Additional references. |
• | This utility stops and restarts the Message Queuing service, which will cause any express messages to be lost. For more information about express messages, see Additional references. |
• | If a COM+ application has been invoked by a rule that is bound to a trigger, then restoring of messages may fail with an "access is denied" error. To resolve this issue, follow these steps: |
• | On Windows Vista® computers, start mqbkup from a command prompt that is running with local Administrator privileges. |
• | Ensure that all user applications and services that are using the MSMQ API's are stopped. |
• | If restoring of messages still fails, wait for 10 minutes and try again. COM+ applications can take up to 10 minutes to unload from memory after all objects are released. |
For more information, see Back Up and Restore Messages ( http://technet.microsoft.com/en-us/library/cc771016(WS.10).aspx).
For more information, see Register Certificates for Message Queuing ( http://technet.microsoft.com/en-us/library/cc753651(WS.10).aspx).
For more information, see Message Delivery Methods ( http://technet.microsoft.com/en-us/library/cc771721(WS.10).aspx).
Target | Microsoft.MSMQ.2008R2.Servers | ||
Category | AvailabilityHealth | ||
Enabled | False | ||
Event_ID | 2023 | ||
Event Source | $Target/Property[Type="Microsoft.MSMQ.2008R2.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.2008R2.Rule.Alert.Event2023" Enabled="false" Target="Microsoft.MSMQ.2008R2.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.2008R2.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.2008R2.Rule.Alert.Event2023.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>