MSSQL no Windows: o agente é suspeito. Sem resposta nos últimos minutos

Microsoft.SQLServer.Windows.CollectionRule.Agent.The_agent_is_suspect._No_response_within_last_minutes_1_5_Rule (Rule)

Este comportamento ocorre porque o agente de replicação está muito ocupado para responder quando o SQL Server Enterprise Manager sondará o agente de replicação; portanto, o SQL Server Enterprise Manager não sabe qual é o status do agente de replicação e não pode relatar se ele está funcionando.

Knowledge Base article:

Resumo

Este comportamento ocorre porque o agente de replicação está muito ocupado para responder quando o SQL Server Enterprise Manager sondará o agente de replicação; portanto, o SQL Server Enterprise Manager não sabe qual é o status do agente de replicação e não pode relatar se ele está funcionando.

Se o agente de replicação falhar, você receberá a mensagem de erro a seguir:

Mensagem 20536 gravidade 10 "Replicação: falha do agente."

Há vários motivos pelos quais o agente de replicação está ocupado: talvez existam muitos dados sendo replicados ou existam problemas no design de replicação ou configuração que fazem com que os processos sejam executados por um longo tempo.

Note that this rule does not work if SQL Server on Windows instance is monitored agentlessly.

Resoluções

Para reduzir a frequência da mensagem, aumente o limite de inatividade.

A alteração desse valor não resolve o problema. Em vez disso, esse procedimento altera a frequência de sondagem do status atual do agente de replicação. Para alterar o valor do limite de inatividade:

A menos que você receba mensagens de erro adicionais indicando que há um problema com o agente de replicação; a mensagem "agente suspeito" é apenas informativa. Quando você receber essa mensagem, não pare o agente de replicação se não houver outros erros relacionados. Se você parar o agente de replicação, ele reverterá o processo no qual está envolvido e será preciso reiniciar o processo. Em vez disso, aguarde o processo ser concluído.

Parâmetros Substituíveis

Nome

Descrição

Valor Padrão

Permitir o uso de proxy

Especifica se o módulo deve coletar eventos que não são originados do computador que é especificado no parâmetro ComputerName.

Não

Habilitado

Habilita ou desabilita o fluxo de trabalho.

Sim

Prioridade

Define a Prioridade do Alerta.

1

Severidade

Define a Severidade do Alerta.

2

Element properties:

TargetMicrosoft.SQLServer.Windows.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL no Windows: o agente é suspeito. Sem resposta nos últimos minutos
ID do evento: {0}. O agente de replicação não registrou uma mensagem de andamento em {1} minutos. Isso pode indicar um agente sem resposta ou alta atividade do sistema. Verifique se os registros estão sendo replicados no destino e se as conexões com o assinante, editor e distribuidor ainda estão ativas.
CommentMom2017ID='{C65DF52B-B877-48C3-B546-67D69C494E84}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.Windows.CollectionRule.Agent.The_agent_is_suspect._No_response_within_last_minutes_1_5_Rule" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{C65DF52B-B877-48C3-B546-67D69C494E84}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>20554</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.CollectionRule.Agent.The_agent_is_suspect._No_response_within_last_minutes_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>