SQL Server-Windows-Dienst

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

Dieser Monitor prüft den Status des SQL Server Database Engine-Dienstes.

Knowledge Base article:

Zusammenfassung

Dieser Monitor überprüft den Status des Windows-Diensts des SQL-Datenbankmoduls.

Ursachen

Der Status "Wird nicht ausgeführt" in diesem Monitor bedeutet, dass der SQL-Datenbankmodul-Dienst für den automatischen Start konfiguriert ist, sich jedoch im "angehaltenen" Zustand befindet und nicht innerhalb des spezifischen Zeitintervalls gestartet wurde. Die Dauer des Intervalls wird durch die Monitoreigenschaft "Nicht verfügbare Zeit" definiert und konnte nicht überschrieben werden. Dieser Wert beträgt standardmäßig 900 s (15 min). Wenn das SQL-Datenbankmodul in kürzerer Zeit in den ausführenden Zustand zurückkehrt, hat lediglich ein Neustart stattgefunden.

Wenn dieser Monitor in einer bestimmten Umgebung zu viel Rauschen verursacht, erhöhen Sie die "Nicht verfügbare Zeit". Bei zu hoher Latenz reduzieren Sie die eingestellte "Nicht verfügbare Zeit".

Ein Windows-Dienst kann im Allgemeinen durch viele Ursachen beendet werden, beispielsweise:

Lösungen

Versuchen Sie, den Dienst über den folgenden Link neu zu starten:

SQL-Datenbankmoduldienst starten

Sie können weitere Warnungen zu dieser SQL Server-Instanz, die mit diesem Problem in Zusammenhang stehen können, über folgenden Link anzeigen:

SQL Server-Warnungen anzeigen

Parameter, die außer Kraft gesetzt werden können

Name

Beschreibung

Standardwert

Warnungspriorität

Definiert die Warnungspriorität.

Normal

Warnungsschweregrad

Definiert den Warnungsschweregrad.

Fehler

Nur warnen, wenn der Starttyp des Diensts automatisch erfolgt

Dieser Parameter kann auf "true" (wahr) oder "false" (falsch) festgelegt werden. Ist dieser Parameter auf "false" festgelegt, bleibt die aktuelle Starttypeinstellung des Diensts vom Workflow unberücksichtigt. Der Standardwert ist "true".

Ja

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Generiert Warnungen

Definiert, ob der Workflow eine Warnung generiert.

Ja

Intervall (Sekunden)

Das periodische Intervall in Sekunden, in dem der Workflow ausgeführt werden soll.

60

Zeitraum der Nichtverfügbarkeit (Sek.)

Die Mindestdauer der Dienstunterbrechung, nach der der Dienst als fehlerhaft gilt.

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: SQL Server-Dienst angehalten
Der Windows-Dienst für die Datenbankmodulinstanz {1} auf Computer {0} wurde beendet
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>