The Message Queuing service cannot start due to problem with transactions checkpoint file.

Microsoft.MSMQ.2008.Rule.Alert.Event2064 (Rule)

Knowledge Base article:

Summary

The transactions checkpoint file failed to initialize. The file MQTrans.lg1 or MQTrans.lg2 in the Msmq\Storage folder are corrupted or absent.

Causes

Checkpoint files must be available for Message Queuing to function properly. To resolve this issue, you must delete the transaction checkpoint files, as well as the QMLog file in the Message Queuing storage directory. This can result in some messages being duplicated. However, this resolution will get the service running as soon as possible and usually without data loss.

Resolutions

Delete transaction checkpoint files

To perform these procedures, you must have membership in Administrators, or you must have been delegated the appropriate authority.

Important: If you are concerned about data loss, contact Microsoft Customer Service and Support (CSS). For information about how to contact CSS, see Enterprise Support ( http://go.microsoft.com/fwlink/?LinkId=52267).

Delete checkpoint files

To delete checkpoint files:

Caution: Incorrectly editing the registry might severely damage your system. Before making changes to the registry, you should back up any valued data.

Restart the MSMQ Service

To restart the MSMQ Service:

Additional

If you are concerned about data loss, contact Microsoft Customer Service and Support (CSS). For information about how to contact CSS, see Enterprise Support ( http://go.microsoft.com/fwlink/?LinkId=52267).

For more information, see Event ID 2064 ( http://technet.microsoft.com/en-us/library/dd337438(WS.10).aspx)

Element properties:

TargetMicrosoft.MSMQ.2008.Servers
CategoryAvailabilityHealth
EnabledFalse
Event_ID2064
Event Source$Target/Property[Type="Microsoft.MSMQ.2008.ServerRole"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
The Message Queuing service cannot start due to problem with transactions checkpoint file.
{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.2008.Rule.Alert.Event2064" Enabled="false" Target="Microsoft.MSMQ.2008.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.2008.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2064</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.2008.Rule.Alert.Event2064.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>