MSSQL on Linux: エージェントに異常があります。この数分間応答がありません

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

この動作は、SQL Server Enterprise Manager がレプリケーション エージェントにポーリングしたときに、レプリケーション エージェントがビジー状態で応答できないために発生します。これにより、SQL Server Enterprise Manager はレプリケーション エージェントの状態を検出できず、レプリケーション エージェントが機能しているかどうかを報告できません。

Knowledge Base article:

概要

この動作は、SQL Server Enterprise Manager がレプリケーション エージェントにポーリングしたときに、レプリケーション エージェントがビジー状態で応答できないために発生します。これにより、SQL Server Enterprise Manager はレプリケーション エージェントの状態を検出できず、レプリケーション エージェントが機能しているかどうかを報告できません。

レプリケーション エージェントが失敗した場合、次のエラー メッセージが表示されます。

メッセージ 20536 重要度 10 "レプリケーション: エージェントが失敗しました。"

レプリケーション エージェントがビジー状態になる理由は数多くあります。レプリケートするデータが多いか、構成またはレプリケーションの設計に問題があるため処理に時間がかかっている可能性があります。

解決方法

メッセージの頻度を減らすには、非アクティブのしきい値を大きくます。

この値を変更しても、何も修正されません。代わりに、現在の状態についてレプリケーション エージェントにポーリングする頻度が変更されます。非アクティブのしきい値を変更するには、次の手順を実行します。:

レプリケーション エージェントに問題があることを示す追加のエラー メッセージを受け取らない限り、"エージェントが中断されました" のメッセージは単なる情報メッセージです。このメッセージを受け取った場合、追加の関連エラーがないときは、レプリケーション エージェントを停止しないでください。レプリケーション エージェントを停止すると、実行中の処理がロールバックされ、処理をもう一度開始する必要があります。代わりに、処理が完了するのを待ってください。

上書き可能なパラメーター

名前

説明

既定値

有効

ワークフローを有効または無効にします。

はい

間隔 (秒)

ワークフローを実行する定期的な実行間隔 (秒)。

300

優先度

アラートの優先度を定義します。

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.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL on Linux: エージェントに異常があります。この数分間応答がありません
{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.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.Linux.DataSource.EventCollectionFilteredAgent">
<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>
<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>