Servicio de Windows de SQL Server

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

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

Knowledge Base article:

Resumen

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

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 se encuentra en el estado "Detenido" y no ha empezado durante el intervalo de tiempo especificado. La duración del intervalo 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 reiniciado.

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

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Prioridad de alerta

Define la prioridad de la alerta.

Normal

Gravedad de alerta

Define la gravedad de la alerta.

Error

Alertar solo si el tipo de inicio del servicio es automático

Solo se puede establecer en 'true' o 'false'. El flujo de trabajo no considerará la configuración del tipo de inicio actual del servicio si este parámetro se establece en 'false'. El valor predeterminado es 'true'.

Habilitado

Habilita o deshabilita el flujo de trabajo.

Genera alertas

Define si el flujo de trabajo genera una alerta.

Intervalo (segundos)

Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo.

60

Tiempo no disponible (segundos)

Duración mínima de no disponibilidad de servicio para considerar que su estado es incorrecto.

900

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.CheckWinServiceStateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: 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.2016.DBEngine.ServiceMonitor" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.CheckWinServiceStateMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.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="SQL2016Core!Microsoft.SQLServer.2016.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="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$</ServiceName>
<CheckStartupType>true</CheckStartupType>
<UnavailableTime>900</UnavailableTime>
</Configuration>
</UnitMonitor>