Esse monitoramento verifica se o SQL Server Agent está em execução no Distribuidor.
O serviço do SQL Server Agent é instalado automaticamente durante a instalação do SQL Server. Esse serviço Windows é usado pela Replicação para iniciar e parar os Trabalhos de Replicação do SQL Server Agent responsáveis pela movimentação de dados.
O Serviço do SQL Server Agent pode ter sido manualmente interrompido ou interrompido como resultado de uma falha do agente. Examine o log de Evento do Aplicativo do Windows para encontrar causas prováveis de interrupção inesperada de um serviço de Agente.
Se a propriedade "Modo de Início" do Agente estiver configurada como "Manual", ao invés de "Automático", o serviço do SQL Server Agent não será reinicializado automaticamente após a reinicialização do servidor.
Inicie o serviço do SQL Server Agent em Serviços Windows, no SQL Server Configuration Manager, ou pelo SQL Server Management Studio. Se o "Modo de Início" do Agente estiver configurado como "Manual", considere alterar para "Automático".
Iniciar, interromper ou pausar o Serviço do SQL Server Agent http://technet.microsoft.com/library/ms190695.aspx
Use o seguinte link para visualizar o Log de Erro do SQL Server Agent: http://msdn.microsoft.com/library/ms175488.aspx
Este tópico descreve como configurar o Microsoft SQL Server Agent para reinício automático caso seja interrompido inesperadamente no SQL Server no Windows: https://msdn.microsoft.com/library/ms178130.aspx
Nome | Descrição | Valor Padrão |
Prioridade do Alerta | Define a Prioridade do Alerta. | Normal |
Severidade do Alerta | Define a Severidade do Alerta. | Erro |
Habilitado | Habilita ou desabilita o fluxo de trabalho. | Sim |
Gera Alertas | Define se o fluxo de trabalho gera ou não um Alerta. | Sim |
Intervalo (segundos) | O intervalo de tempo recorrente em segundos no qual executar o fluxo de trabalho. | 600 |
Tempo de Sincronização | O tempo de sincronização especificado usando um formato de 24 horas. Pode ser omitido. |
|
Tempo limite (segundos) | Especifica a quantidade de tempo que o fluxo de trabalho tem permissão para executar antes de ser fechado e marcado como com falha. | 300 |
Tempo limite da conexão de banco de dados (segundos) | O fluxo de trabalho falhará e registrará um evento, se ele não conseguir acessar o banco de dados durante o período especificado. | 15 |
Target | Microsoft.SQLServer.Replication.Windows.Distributor | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.Replication.Windows.MonitorType.SqlServiceStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Microsoft.SQLServer.Core.RunAs.Monitoring |
<UnitMonitor ID="Microsoft.SQLServer.Replication.Windows.Monitor.Distributor.SQLServerAgentState" Accessibility="Public" Enabled="true" Target="SQLReplWD!Microsoft.SQLServer.Replication.Windows.Distributor" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Replication.Windows.MonitorType.SqlServiceStatus" ConfirmDelivery="false" RunAs="SqlCoreLib!Microsoft.SQLServer.Core.RunAs.Monitoring">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Replication.Windows.Monitor.Distributor.SQLServerAgentState.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/InstanceName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Running" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="RunningManualOrUnableToDetectStatus" HealthState="Warning"/>
<OperationalState ID="Error" MonitorTypeStateID="NotRunning" HealthState="Error"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/MachineName$</MachineName>
<InstanceName>$Target/Host/Property[Type='SqlCoreLib!Microsoft.SQLServer.Core.DBEngine']/InstanceName$</InstanceName>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<MonitoringType>$Target/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>600</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>