MSSQL em Linux: o agente é suspeito. Sem resposta nos últimos minutos

Microsoft.SQLServer.Linux.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árias 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.

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

Habilitado

Habilita ou desabilita o fluxo de trabalho.

Sim

Intervalo (segundos)

O intervalo de tempo recorrente em segundos no qual executar o fluxo de trabalho.

300

Prioridade

Define a Prioridade do Alerta.

1

Severity

Defines Alert Severity.

2

Synchronization Time

Synchronization Time

 

Timeout (seconds)

Specifies the time the workflow is allowed to run before being closed and marked as failed.

200

Timeout for database connection (seconds)

The workflow will fail and register an event, if it cannot access the database during the specified period.

15

Element properties:

TargetMicrosoft.SQLServer.Linux.Agent
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL em Linux: o agente é suspeito. Sem resposta nos últimos minutos
{0}
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.Linux.DataSource.EventCollectionFilteredAgent Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.Linux.CollectionRule.Agent.The_agent_is_suspect._No_response_within_last_minutes_1_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.Agent" 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.Linux.DataSource.EventCollectionFilteredAgent">
<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>
<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.Linux.CollectionRule.Agent.The_agent_is_suspect._No_response_within_last_minutes_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>