Estado do SQL Server Agent para o Publicador

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

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

Knowledge Base article:

Resumo

Esse monitoramento se conecta ao Publicador de Replicação e verifica se o serviço do SQL Server Agent está em execução. O serviço do SQL Server Agent é instalado automaticamente durante a instalação do SQL Server. O serviço do Windows é usado pela Replicação para iniciar e interromper os Trabalhos do SQL Server Agent de Replicação responsáveis pelo trânsito 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

No Publicador, além do Agente de Leitor de Log, do Agente de Instantâneo e do Agente de Distribuição de push, o Serviço do SQL Server Agent também é responsável pela execução de diversos agentes como os agentes de "limpeza de histórico de Agente: distribuição", "limpeza de Distribuição: distribuição", e "limpeza de assinatura expirada".

Externo

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.Publisher
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: Publicador: o Serviço Windows do SQL Server Agent foi interrompido.
O serviço Windows do SQL Server Agent foi interrompido para a Instância do SQL Server {1} no servidor {0}.
RunAsMicrosoft.SQLServer.Core.RunAs.Monitoring

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.Replication.Windows.Monitor.Publisher.SQLServerAgentState" Accessibility="Public" Enabled="true" Target="SQLReplWD!Microsoft.SQLServer.Replication.Windows.Publisher" 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.Publisher.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>