Estado do SQL Server Agent para o Distribuidor

Microsoft.SQLServer.Replication.Windows.Monitor.Distributor.SQLServerAgentState (UnitMonitor)

Esse monitoramento verifica se o SQL Server Agent está em execução no Distribuidor.

Knowledge Base article:

Resumo

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.

Causas

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.

Resoluções

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

Adicional

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

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

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

Element properties:

TargetMicrosoft.SQLServer.Replication.Windows.Distributor
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.Replication.Windows.MonitorType.SqlServiceStatus
RemotableTrue
AccessibilityPublic
Alert Message
Replicação do MSSQL no Windows: Distribuidor: o serviço Windows do SQL Server Agent parou.
O serviço Windows do SQL Server Agent foi interrompido para a Instância do SQL Server {1} no computador {0} para o Distribuidor
RunAsMicrosoft.SQLServer.Core.RunAs.Monitoring

Source Code:

<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>