Servizio Windows SQL Server

Microsoft.SQLServer.2008.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à" e può essere sostituito. 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, 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à.

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

È 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

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.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.2008.DBEngine.ServiceMonitor" Accessibility="Public" Enabled="true" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.CheckWinServiceStateMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.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>