Servizio Windows SQL Server

Microsoft.SQLServer.2012.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 SQL è configurato per l'avvio automatico ma per rimanere in stato "Arrestato" durante il periodo di tempo specifico. Questo periodo di tempo viene definito nella 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 SQL torna al valore "In esecuzione" più rapidamente rispetto a tale tempo, significa che il motore di database è stato reimpostato.

Se il monitoraggio risulta troppo disturbato in ambienti specifici, aumentare il valore della proprietà "Tempo di indisponibilità". In caso contrario, se risulta troppo latente, diminuire il valore della proprietà.

In generale, il servizio di Windows può essere arrestato per diversi motivi, ad esempio:

Soluzioni

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

Avvio del servizio Motore di database SQL

È possibile visualizzare altri avvisi per questa istanza di SQL Server™ che possono essere correlati a tale problema utilizzando il collegamento 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

Questo valore può essere impostato solo su 'true' o 'false'. Se impostato su 'false', gli avvisi verranno attivati indipendentemente dal tipo di avvio impostato. Il valore predefinito è '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.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
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.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>