SQL Server Windows Service

Microsoft.SQLServer.2005.DBEngine.ServiceMonitor (UnitMonitor)

This monitor checks the status of the SQL Database Engine service.

Knowledge Base article:

Summary

This monitor checks the state of the SQL Database Engine Windows Service.

Causes

"Not Running" state of this monitor indicates that SQL DB Engine service is configured to start automatically but in "Stopped" state during the specific time period. This time period is defined in "Unavailable Time" monitor property and could be overridden. By default this value is 900 secs (15 mins). If SQL DB Engine turn back to "Running" state faster than that time it means that it was just reset.

If this monitor is too noisy in specific environment please increate "Unavailable Time". Otherwise if it's too latent, please reduce "Unavailable Time" value.

In general windows service could be stopped by many reasons, including:

Resolutions

You can attempt to restart the service using the following link:

Start SQL DB Engine service

You can view other alerts for this instance of SQL Server™ that may be related to this issue using the following link:

View SQL Server Alerts

Element properties:

TargetMicrosoft.SQLServer.2005.DBEngine
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2005.CheckWinServiceStateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
SQL Server Service Stopped
The Windows service for the DB Engine instance {0} has stopped on computer {1}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2005.DBEngine.ServiceMonitor" Accessibility="Public" Enabled="true" Target="SQL2005Core!Microsoft.SQLServer.2005.DBEngine" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2005.CheckWinServiceStateMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2005.DBEngine.ServiceMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Running" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="NotRunning" HealthState="Error"/>
</OperationalStates>
<Configuration>
<Frequency>60</Frequency>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<ServiceName>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</ServiceName>
<CheckStartupType>true</CheckStartupType>
<UnavailableTime>900</UnavailableTime>
</Configuration>
</UnitMonitor>