Trabalhos de Longa Execução

Microsoft.SQLServer.2008.Agent.LongRunningJobs (UnitMonitor)

Este monitor verifica os trabalhos de longa execução do SQL Agent.
Observe que nenhuma edição do SQL Server Express dá suporte ao serviço Windows SQL Server Agent; não há objeto descoberto adequado. Esse monitor está desabilitado por padrão. Use substituições para habilitá-lo quando necessário.

Knowledge Base article:

Resumo

Este monitor verifica os trabalhos de longa execução do SQL Agent. Um alerta de aviso ou de erro será gerado se um trabalho estiver demorando mais do que o limite configurado.

Causas

Um estado não íntegro ocorre devido a um trabalho do SQL Server Agent que demorou mais do que o limite definido. Isso pode indicar um problema no trabalho.

O SQL Server Agent é responsável pela execução de tarefas do SQL Server agendadas para ocorrer em horários ou intervalos específicos e pela detecção de condições específicas para as quais os administradores definiram uma ação, como alertar alguém por meio de páginas ou emails, ou uma tarefa que solucionará essas condições. O SQL Server Agent também é usado para executar tarefas de replicação definidas pelos administradores.

Para identificar o trabalho que ocasionou o estado de aviso ou de erro, examine os dados do contexto para obter a alteração do estado ou o alerta.

Resoluções

Verifique o SQL Server Management Studio para identificar os trabalhos que estão em execução. Se esses trabalhos estiverem demorando mais do que o necessário, investigue-os para descobrir o motivo.

Use o sp_help_jobactivity para obter informações sobre os trabalhos que estão em execução no momento.

Alternativamente, se for esperada a execução de alguns trabalhos do agente por um longo tempo:

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.

MatchMonitorHealth

Habilitado

Habilita ou desabilita o fluxo de trabalho.

Não

Gerar Alertas

Define se o fluxo de trabalho gera um Alerta.

Sim

Intervalo (segundos)

Este monitor usa um script para realizar o monitoramento de trabalhos de longa execução. É o intervalo (em segundos) entre as execuções desse script.

600

Limite Inferior (minutos)

O limite inferior (em minutos) para este monitor. Por padrão, exceder esse limite resultará na alteração de pelo menos um estado de aviso no monitor.

60

Hora da Sincronização

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

 

Tempo Limite (segundos)

O tempo (em segundos) durante o qual o script pode ser executado.

300

Limite Superior (minutos)

O limite superior (em minutos) para este monitor. Por padrão, exceder esse limite resultará na passagem do monitor para um estado crítico. Estar entre esse limite e o limite inferior (inclusive) resultará (por padrão) na permanência do monitor em um estado de aviso.

120

Element properties:

TargetMicrosoft.SQLServer.2008.Agent
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.AgentLongRunningJobsProvider
RemotableTrue
AccessibilityPublic
Alert Message
Trabalhos de Longa Execução
Existem trabalhos de agentes de longa execução na instância do SQL {0} no computador {1}. Isso pode indicar um problema com um ou mais trabalhos.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2008.Agent.LongRunningJobs" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.Agent" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.AgentLongRunningJobsProvider" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Agent.LongRunningJobs.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Success"/>
<OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning"/>
<OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>600</IntervalSeconds>
<SyncTime/>
<ConnectionString>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<Threshold1>60</Threshold1>
<Threshold2>120</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>