Utilização da CPU (\%)

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

Utilização da CPU (\%) para o Mecanismo de Banco de Dados 2016

Knowledge Base article:

Resumo

Fornece uma medida da quantidade de tempo que os processadores realmente gastam no trabalho em threads de processo do SQL Server.

Causas

Todas as CPUs alocadas estão ocupadas com o processamento de tarefas do SQL Server.

Resoluções

Avalie por que o SQL Server está usando um alto percentual de CPU com contadores do SQL Server do monitor de desempenho e DMVs relacionados ao desempenho, como sys.dm_exec_query_stats.

Solucionando problemas de desempenho no SQL Server 2016

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

Criar uma sessão de Eventos Estendidos

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

Parâmetros Substituíveis

Nome

Descrição

Valor padrão

Prioridade do Alerta

Define a Prioridade do Alerta.

Normal

Severidade do Alerta

Define a Severidade do Alerta.

Erro

Tempo de Expiração do Cache

Especifica a idade máxima de informações de cache que o fluxo de trabalho pode usar. Pode ser omitido.

43.200

Habilitado

Habilita ou desabilita o fluxo de trabalho.

Sim

Gerar Alertas

Define se o fluxo de trabalho gera um Alerta.

Sim

Intervalo (segundos)

O intervalo de tempo recorrente em segundos no qual executa-se o fluxo de trabalho.

300

Número de amostras

Indica quantas vezes um valor medido deve violar um limite antes do estado ser alterado.

6

Hora da Sincronização

A hora da sincronização especificada usando um formato de 24 horas. Pode ser omitido.

00:18

Limite

O valor coletado será comparado com esse parâmetro.

95

Tempo Limite (segundos)

Especifica o tempo que o fluxo de trabalho pode funcionar antes de ser fechado e marcado como com falha.

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: A Utilização da CPU é muito alta
A Utilização da CPU da instância do SQL "{0}" no computador "{1}" é muito alta. Consulte a guia de "contexto de alerta" para obter mais detalhes.
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>