Servizio Windows SQL Server

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

Questo monitoraggio controlla lo stato del servizio del motore di database di SQL Server.

Knowledge Base article:

Riepilogo

Questo monitoraggio controlla lo stato del servizio Windows del motore di database di SQL Server.

Cause

Lo stato "Non in esecuzione" di questo monitoraggio indica che il servizio Motore di database di SQL è configurato per l'avvio automatico ma si trova nello stato "Arrestato" e non è stato avviato entro l'intervallo di tempo specifico. La durata dell'intervallo viene definita dalla proprietà di monitoraggio "Tempo di indisponibilità" ed è possibile eseguirne l'override. Per impostazione predefinita, questo valore è di 900 secondi (15 minuti). Se lo stato del motore di database di SQL torna al valore "In esecuzione" più rapidamente rispetto a tale tempo, significa che il motore di database è stato riavviato.

Se il monitoraggio causa un eccessivo disturbo in ambienti specifici, aumentare il valore della proprietà "Tempo di indisponibilità". In caso contrario, se risulta troppo latente, ridurre il valore della proprietà.

Di seguito vengono indicati i motivi in base ai quali il servizio Windows potrebbe essere arrestato:

Soluzioni

È possibile tentare di riavviare il servizio utilizzando il collegamento seguente:

Avvio del servizio Motore di database SQL

Per visualizzare altri avvisi per questa istanza di SQL Server correlati a tale problema, vedere l'articolo seguente:

Visualizzazione avvisi di SQL Server

Parametri di cui è possibile eseguire l'override

Nome

Descrizione

Valore predefinito

Priorità avviso

Definisce la priorità dell'avviso.

Normale

Gravità avviso

Definisce la gravità dell'avviso.

Errore

Avviso solo se il tipo di avvio del servizio è Automatico

Può essere impostato solo su 'true' o 'false'. Se questo parametro è impostato su 'false', il flusso di lavoro non considera l'impostazione del tipo di avvio corrente del servizio. L'impostazione predefinita è 'true'.

Abilitato

Abilita o disabilita il flusso di lavoro.

Genera avvisi

Definisce se il flusso di lavoro genera un avviso.

Intervallo (secondi)

Intervallo di tempo ricorrente in secondi in cui eseguire il flusso di lavoro.

60

Tempo di indisponibilità (secondi)

Durata di indisponibilità del servizio minima prima che venga considerato non integro.

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: servizio SQL Server arrestato
Il servizio Windows per l'istanza del motore di database {1} è stato arrestato sul computer {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>