Service Windows SQL Server

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

Cette analyse vérifie l’état du service Moteur de base de données SQL Server.

Knowledge Base article:

Résumé

Ce moniteur vérifie l'état du service Windows du moteur de base de données SQL.

Causes

L’état « Non exécuté » de cette analyse indique que le service du moteur de base de données SQL est configuré de façon à démarrer automatiquement, mais se trouve en état « Arrêté » et n’était pas lancé pendant la période donnée. La durée de cette période est définie dans la propriété Durée d’indisponibilité de l’analyse et a pu être remplacée. Cette valeur est par défaut de 900 secondes (15 min). Si le moteur de base de données SQL reprend l’état « En cours d’exécution » avant la fin du temps spécifié, cela signifie qu’il vient d’être réinitialisé.

Si cette analyse est trop bruyante dans un environnement spécifique, augmentez la Durée d’indisponibilité. Si, au contraire, la latence est trop importante, réduisez cette valeur.

En règle générale, le service Windows a pu être arrêté pour de nombreuses raisons, notamment :

Solutions

Vous pouvez tenter de redémarrer le service en utilisant le lien suivant :

Démarrer le service Moteur de base de données SQL

Vous pouvez afficher d’autres alertes de cette instance de SQL Server qui peuvent être liées à ce problème à l’aide du lien suivant :

Afficher les alertes SQL Server

Paramètres remplaçables

Nom

Description

Valeur par défaut

Priorité de l'alerte

Définit la priorité de l'alerte.

Normal

Gravité de l'alerte

Définit la gravité de l'alerte.

Erreur

Alerte uniquement si le type de démarrage du service est automatique

Il peut uniquement être défini comme « vrai » ou « faux ». Le workflow ne prend pas en compte le paramètre de type de démarrage actuel du service si ce paramètre est défini comme « faux ». La valeur par défaut est « vrai ».

Oui

Activé

Active ou désactive le flux de travail.

Oui

Génère des alertes

Définit si le flux de travail génère une alerte.

Oui

Intervalle (en secondes)

L'intervalle de temps récurrent en secondes pendant lequel le workflow est exécuté.

60

Durée d'indisponibilité (secondes)

Durée minimale d'indisponibilité du service avant de le considérer comme défectueux.

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 : service SQL Server arrêté
Le service Windows de l'instance du moteur de base de données {1} s'est arrêté sur l'ordinateur {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>