Utilizzo CPU (\%)

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

Utilizzo della CPU (\%) per il motore di database 2012

Knowledge Base article:

Riepilogo

Fornisce una misura del tempo effettivamente impiegato dai processori per eseguire i thread di processo di SQL Server.

Cause

Tutte le CPU allocate sono occupate per l'elaborazione delle attività di SQL Server.

Soluzioni

Valutare i motivi per cui SQL Server usa una percentuale elevata della CPU usando i contatori di Performance monitor di SQL Server e le DMV relative alle prestazioni, ad esempio sys.dm_exec_query_stats.

Risoluzione dei problemi relativi alle prestazioni in SQL Server 2012

http://go.microsoft.com/fwlink/?LinkId=789165

Creare una sessione Eventi estesi

http://go.microsoft.com/fwlink/?LinkId=789187

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

Ora di scadenza della cache

Specifica la durata massima delle informazioni presenti nella cache che possono essere usate dal flusso di lavoro. Può essere omesso.

43200

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.

300

Numero di campioni

Se il conteggio che supera la soglia parametri è maggiore o uguale al numero di campioni, il monitoraggio si trova in stato di errore

6

Ora di sincronizzazione

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

00:06

Soglia

Soglia

95

Timeout (secondi)

Specifica il tempo di esecuzione consentito per il flusso di lavoro prima che venga chiuso e contrassegnato come non riuscito.

200

Element properties:

TargetMicrosoft.SQLServer.2012.DBEngine
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2012.DBEngine.CPUUsagePercent.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
L'utilizzo della CPU (\%) del motore di database SQL 2012 è troppo elevato
L'utilizzo della CPU dell'istanza di SQL "{0}" nel computer "{1}" è troppo elevato. Per ulteriori informazioni, vedere la scheda relativa al contesto dell'avviso.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.DBEngine.CPUUsagePercentMonitor" Accessibility="Public" Enabled="true" Target="SQL2012Core!Microsoft.SQLServer.2012.DBEngine" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.DBEngine.CPUUsagePercent.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.DBEngine.CPUUsagePercentMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Normal" MonitorTypeStateID="Normal" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<Threshold>95</Threshold>
<NumSamples>6</NumSamples>
<SyncTime/>
<CacheExpirationTime>43200</CacheExpirationTime>
</Configuration>
</UnitMonitor>