Uso de CPU (\%)

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

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

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 2008

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

Crear una sesión de eventos extendidos

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

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
El uso de CPU (\%) del motor de base de datos de SQL 2012 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.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/>
</Configuration>
</UnitMonitor>