CPU-Auslastung (\%)

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

CPU-Auslastung (\%) für 2016-Datenbankmodul

Knowledge Base article:

Zusammenfassung

Stellt ein Maß dafür bereit, wie viel Zeit Prozessoren tatsächlich mit der Verarbeitung der Prozessthreads von SQL Server verbringen.

Ursachen

Alle zugeordneten CPUs sind ausgelastet, indem sie SQL Server-Tasks verarbeiten.

Lösungen

Analysieren Sie, warum SQL Server einen hohen Prozentsatz der CPU nutzt, indem Sie den Systemmonitor, SQL Server-Leistungsindikatoren und leistungsbezogene DMVs wie "sys.dm_exec_query_stats" verwenden.

Behebung von Leistungsproblemen in SQL Server 2016

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

Erstellen einer Sitzung für erweiterte Ereignisse

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

Parameter, die außer Kraft gesetzt werden können

Name

Beschreibung

Standardwert

Warnungspriorität

Definiert die Warnungspriorität.

Normal

Warnungsschweregrad

Definiert den Warnungsschweregrad.

Fehler

Cacheablaufzeit

Gibt das maximale Alter von Informationen aus dem Cache an, die vom Workflow verwendet werden können. Kann ausgelassen werden.

43200

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Generiert Warnungen

Definiert, ob der Workflow eine Warnung generiert.

Ja

Intervall (Sekunden)

Das periodische Intervall in Sekunden, in dem der Workflow ausgeführt werden soll.

300

Anzahl der Stichproben

Gibt an, wie oft ein gemessener Wert einen Schwellenwert verletzen soll, bevor der Status geändert wird.

6

Synchronisierungszeit

Die in einem 24-Stunden-Format angegebene Synchronisierungszeit. Kann ausgelassen werden.

00:18

Schwellenwert

Der ermittelte Wert wird mit diesem Parameter verglichen.

95

Timeout (Sekunden)

Gibt die Zeit an, die der Workflow ausgeführt werden darf, bevor er geschlossen und als fehlgeschlagen markiert wird.

200

Element properties:

TargetMicrosoft.SQLServer.2016.DBEngine
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.DBEngine.CPUUsagePercent.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: CPU-Auslastung (\%) ist zu hoch
CPU-Auslastung von SQL-Instanz "{0}" auf dem Computer "{1}" ist zu hoch. Ausführliche Informationen finden Sie auf der Registerkarte "Warnungskontext".
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.DBEngine.CPUUsagePercentMonitor" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.DBEngine.CPUUsagePercent.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.DBEngine.CPUUsagePercentMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.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>