Uso de CPU (\%)

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

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

Knowledge Base article:

Resumen

Proporciona una medida del tiempo que 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 2008

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

Introducción a SQL Server Extended Events

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

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Prioridad de alerta

Define la prioridad de la alerta.

Normal

Gravedad de alerta

Define la gravedad de la alerta.

Error

Hora de expiración de la caché

Especifica la antigüedad máxima de información de la caché que puede usar el flujo de trabajo. Puede omitirse.

43200

Habilitado

Habilita o deshabilita el flujo de trabajo.

Genera alertas

Define si el flujo de trabajo genera una alerta.

Intervalo (segundos)

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

300

Número de ejemplos

Si el umbral del parámetro que supera el recuento es mayor o igual al número de ejemplos, el monitor estará en un estado incorrecto.

6

Hora de sincronización

Hora de sincronización especificada en un formato de 24 horas. Se puede omitir.

00:06

Umbral

Umbral

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.2008.DBEngine
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.DBEngine.CPUUsagePercent.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
El uso de CPU (\%) del motor de base de datos de SQL 2008 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.2008.DBEngine.CPUUsagePercentMonitor" Accessibility="Public" Enabled="true" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.DBEngine.CPUUsagePercent.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.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>