The Message Queueing sevice cannot start.

MSMQ.Rule.Alert.Event2079 (Rule)

The Message Queuing service cannot start because the log file cannot be recovered.

Knowledge Base article:

Summary

The Message Queuing service cannot start. The log file cannot be recovered.

Causes

The MSMQ Service needs access permissions on the checkpoint and log files. If the service has permissions and you receive this error, then the file is probably corrupt. To start the MSMQ Service without losing consistency, you must correct or recover corrupted checkpoint and log files.

Resolutions

Correct or recover corrupt log and checkpoint files

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

To correct or recover corrupted checkpoint and log files:

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

Additional

If you continue to get this error, note any details in the event message, and then 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 2079 ( http://technet.microsoft.com/en-us/library/dd337402(WS.10).aspx)

Element properties:

TargetMSMQ.Server
CategoryConfigurationHealth
EnabledFalse
Event_ID2079
Event Source$Target/Property[Type="MSMQ.Server"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
The Message Queuing service cannot start
The Message Queuing service cannot start because the log file cannot be recovered.
Event LogApplication

Member Modules:

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

Source Code:

<Rule ID="MSMQ.Rule.Alert.Event2079" Enabled="false" Target="MSMQ.Server" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>ConfigurationHealth</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 Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="MSMQ.Server"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2079</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertName/>
<AlertDescription/>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="MSMQ.Rule.Alert.Event2079.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>