Este monitor verifica a execução longa de trabalhos do SQL Agent. Observação: Esse monitor está desabilitado por padrão. Use substituições para permitir, quando necessário.
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.
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 com o 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.
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.
Como alternativa, se for esperada a execução de alguns trabalhos do agente por um longo tempo:
Substitua o monitor para alterar os limites dessa instância específica do SQL ou de todas as instâncias
Desabilite o monitor desta instância específica do SQL ou de todas as instâncias
Nome | Descrição | Valor padrão |
Habilitado |
| Não |
Gerar Alertas |
| Sim |
Intervalo (segundos) | O intervalo de tempo recorrente em segundos no qual executa-se o fluxo de trabalho. | 600 |
Hora da Sincronização | A hora da sincronização especificada usando um formato de 24 horas. Pode ser omitido. |
|
Limite de Aviso (minutos) | Limite de Aviso. Ultrapassar esse limite fará com que o monitor passe pelo menos para um estado de aviso. | 60 |
Limite Crítico (minutos) | O monitor mudará seu estado para Crítico se o valor exceder esse limite. Estar entre esse limite e o limite de aviso (inclusivo) resultará no monitor estando em um estado de aviso. | 120 |
Tempo Limite (segundos) | Especifica o tempo que o fluxo de trabalho pode funcionar antes de ser fechado e marcado como com falha. | 300 |
Target | Microsoft.SQLServer.2014.Agent | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2014.AgentLongRunningJobsProvider | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2014.Agent.LongRunningJobs" Accessibility="Public" Enabled="false" Target="SQL2014Core!Microsoft.SQLServer.2014.Agent" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.AgentLongRunningJobsProvider" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.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="SQL2014Core!Microsoft.SQLServer.2014.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="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ConnectionString$</ConnectionString>
<Threshold1>60</Threshold1>
<Threshold2>120</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>