SQL Server 2005 DB Engine is restarted

Microsoft.SQLServer.2005.DBEngineServiceRestart (Rule)

Detects SQL Server 2005 DB Engine restart.

Knowledge Base article:

Summary

This rule detects restart of SQL Server.

Configuration

This rule detects that SQL DB Engine service was in "Stopped" state during some small time period and turn back to “Running” state till that time is up. This time period is defined in "Unavailable Time" property and could be overridden. By default this value is 900 secs (15 mins).

Element properties:

TargetMicrosoft.SQLServer.2005.DBEngine
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
SQL Server 2005 DB Engine is restarted
SQL Server 2005 DB Engine for SQL Server instance "{0}" has been restarted on the machine "{1}".

Member Modules:

ID Module Type TypeId RunAs 
ServiceRestart DataSource Microsoft.SQLServer.2005.WindowsServiceRestartDetectionProvider Microsoft.SQLServer.SQLDefaultAccount
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2005.DBEngineServiceRestart" Enabled="false" Target="SQL2005Core!Microsoft.SQLServer.2005.DBEngine" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>AvailabilityHealth</Category>
<DataSources>
<DataSource ID="ServiceRestart" TypeID="Microsoft.SQLServer.2005.WindowsServiceRestartDetectionProvider" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<ServiceName>SQL Server ($Target/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$)</ServiceName>
<CorrelatorInterval>900</CorrelatorInterval>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2005.DBEngineServiceRestart.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter2>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>