Servicio de Windows de SQL Server

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

Este monitor comprueba el estado del servicio de motor de base de datos de SQL.

Knowledge Base article:

Resumen

Este monitor comprueba el estado del servicio de Windows del motor de bases de datos de SQL.

Causas

El estado "No está en ejecución" de este monitor indica que el servicio del motor de base de datos de SQL está configurado para iniciarse automáticamente pero en el estado "Detenido" durante el periodo de tiempo especificado. Este periodo se define en la propiedad de monitor "Tiempo no disponible" y se puede invalidar. De forma predeterminada, este valor es 900 segundos (15 minutos). Si el motor de base de datos de SQL vuelve al estado "En ejecución" más rápidamente que este tiempo, significa que se ha restablecido.

Si este monitor produce demasiado ruido en un entorno específico, incremente el valor de "Tiempo no disponible". Por el contrario, si hay demasiada latencia, reduzca el valor de "Tiempo no disponible".

En general, el servicio de Windows se puede detener por numerosos motivos, entre los que se incluyen:

Soluciones

Puede intentar reiniciar el servicio mediante el siguiente vínculo:

Iniciar servicio de motor de base de datos de SQL

Puede ver otras alertas para esta instancia de SQL Server™ que pueden estar relacionadas con este problema mediante el siguiente vínculo:

Ver alertas de SQL Server

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.CheckWinServiceStateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Servicio SQL Server detenido
El servicio de Windows para la instancia del motor de base de datos {1} se ha detenido en el equipo {0}.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.DBEngine.ServiceMonitor" Accessibility="Public" Enabled="true" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.CheckWinServiceStateMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.DBEngine.ServiceMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</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>