Servizio di Windows SQL Server

Microsoft.SQLServer.Windows.Monitor.LocalDBEngine.ServiceStatus (UnitMonitor)

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

Knowledge Base article:

Riepilogo

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

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:

Risoluzioni

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'.

Attivato

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 sincronizzazione

Ora di sincronizzazione specificata usando il formato a 24 ore. Può essere omessa.

 

Tempo di indisponibilità (secondi)

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

900

Element properties:

TargetMicrosoft.SQLServer.Windows.LocalDBEngine
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.Windows.MonitorType.LocalDBEngine.ServiceStatus
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL per Windows: Servizio SQL Server arrestato
Il servizio di Windows per l'istanza del motore di database {0} è stato arrestato nel computer {1}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.Windows.Monitor.LocalDBEngine.ServiceStatus" Accessibility="Public" Enabled="true" Target="SqlDiscW!Microsoft.SQLServer.Windows.LocalDBEngine" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Windows.MonitorType.LocalDBEngine.ServiceStatus" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Windows.Monitor.LocalDBEngine.ServiceStatus.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/PrincipalName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Running" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="NotRunning" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>60</IntervalSeconds>
<SyncTime/>
<PrincipalName>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/PrincipalName$</PrincipalName>
<ServiceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ServiceName$</ServiceName>
<CheckStartupType>true</CheckStartupType>
<UnavailableTime>900</UnavailableTime>
</Configuration>
</UnitMonitor>