Uso de CPU (\%)

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

Uso de CPU (\%) para el motor de base de datos de 2014

Knowledge Base article:

Resumen

Proporciona una medida de cuánto tiempo pasan realmente los procesadores trabajando en los subprocesos de SQL Server.

Causas

Todas las CPU asignadas están ocupadas procesando las tareas de SQL Server.

Soluciones

Evalúe por qué SQL Server utiliza un porcentaje alto de CPU mediante los contadores de SQL Server del monitor de rendimiento y las DMV relacionadas con el rendimiento, como sys.dm_exec_query_stats.

Solucionar problemas de rendimiento en SQL Server 2014

http://technet.microsoft.com/library/dd672789(v=sql.100).aspx

Crear una sesión de eventos extendidos

http://technet.microsoft.com/library/hh213147.aspx

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Habilitado

 

Genera alertas

 

Intervalo (segundos)

Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo.

300

Número de ejemplos

Indica cuántas veces debe superar un umbral un valor medido para que cambie el estado.

6

Umbral

El valor recopilado se comparará con este parámetro.

95

Tiempo de espera (segundos)

Especifica el tiempo durante el que se puede ejecutar el flujo de trabajo antes de que se cierre y se marque como error.

200

Element properties:

TargetMicrosoft.SQLServer.2014.DBEngine
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2014.DBEngine.CPUUsagePercent.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2014: el uso de CPU (\%) es demasiado alto
El uso de CPU de la instancia de SQL “{0}” en el equipo “{1}” es demasiado alta. Vea la pestaña "Contexto de alerta" para obtener más detalles.
RunAsDefault

Source Code:

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