SQL Server-Windows-Dienst

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

Dieser Monitor überprüft den Status des SQL-Datenbankmoduldiensts.

Knowledge Base article:

Zusammenfassung

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

Ursachen

Der Status "Wird nicht ausgeführt" dieses Monitors weist darauf hin, dass der SQL-Datenbankmoduldienst für den automatischen Start konfiguriert ist, während des spezifischen Zeitraums jedoch den Status "Beendet" aufweist. Dieser Zeitraum wird in der Monitoreigenschaft "Zeitraum der Nichtverfügbarkeit" definiert und kann außer Kraft gesetzt werden. Dieser Wert beträgt standardmäßig 900 Sek. (15 Min.). Wenn das SQL-Datenbankmodul schneller als durch diesen Zeitraum vorgegeben wieder in den Status "Wird ausgeführt" wechselt, bedeutet dies, dass das Modul gerade zurückgesetzt wurde.

Wenn dieser Monitor in bestimmten Umgebungen zu aktiv ist, erhöhen Sie den Wert für "Zeitraum der Nichtverfügbarkeit". Falls er zu latent ist, verringern Sie den Wert für "Zeitraum der Nichtverfügbarkeit".

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

Über den folgenden Link können Sie weitere Warnungen für diese SQL Server™-Instanz anzeigen, die möglicherweise mit diesem Problem zusammenhängen:

SQL Server-Warnungen anzeigen

Element properties:

TargetMicrosoft.SQLServer.2012.DBEngine
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2012.CheckWinServiceStateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
SQL Server-Dienst wurde beendet
Der Windows-Dienst für die Datenbankmodulinstanz {1} auf Computer {0} wurde beendet
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.DBEngine.ServiceMonitor" Accessibility="Public" Enabled="true" Target="SQL2012Core!Microsoft.SQLServer.2012.DBEngine" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.CheckWinServiceStateMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.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>