可用性レプリカ データ同期モニター

Microsoft.SQLServer.2016.AlwaysOn.AvailabilityReplicasSynchronizing (UnitMonitor)

可用性レプリカ データ同期

Knowledge Base article:

概要

このモニターは、可用性グループ内のすべての可用性レプリカのデータ同期状態をロールアップし、可用性レプリカの中に、同期が不可能な状態になっているものがないかどうかを調べます。モニターが異常となるのは、データ同期状態が NOT SYNCHRONIZING となっている可用性レプリカが 1 つでもある場合です。モニターが正常となるのは、データ同期状態が NOT SYNCHRONIZING となっている可用性レプリカが 1 つもない場合です。

原因

この可用性グループで、少なくとも 1 つのセカンダリ レプリカが NOT SYNCHRONIZING 同期状態であり、プライマリ レプリカからデータを受け取っていません。

解決方法

可用性レプリカ モニター状態を使用して NOT SYNCHRONIZING 状態の可用性レプリカを見つけてから、この可用性レプリカでの問題を解決します。

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

名前

説明

既定値

有効

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

はい

アラートを生成する

ワークフローがアラートを生成するかどうかを定義します。

いいえ

間隔 (秒)

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

900

タイムアウト (秒)

ワークフローが終了して失敗とマークされるまでの、ワークフローの許容実行時間を指定します。

300

Element properties:

TargetMicrosoft.SQLServer.2016.AlwaysOn.AvailabilityGroupHealth
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveFalse
Monitor TypeMicrosoft.SQLServer.2016.AlwaysOn.SystemPolicyScriptMonitorType
RemotableTrue
AccessibilityPublic
RunAsMicrosoft.SQLServer.MonitoringAccount

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2016.AlwaysOn.AvailabilityReplicasSynchronizing" RunAs="GPMP!Microsoft.SQLServer.MonitoringAccount" TypeID="Microsoft.SQLServer.2016.AlwaysOn.SystemPolicyScriptMonitorType" Accessibility="Public" Enabled="true" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Target="AlwaysOnDisc!Microsoft.SQLServer.2016.AlwaysOn.AvailabilityGroupHealth" Priority="Normal">
<Category>AvailabilityHealth</Category>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="HealthState" HealthState="Success"/>
<OperationalState ID="Critical" MonitorTypeStateID="ErrorState" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<Interval>900</Interval>
<TimeoutSeconds>300</TimeoutSeconds>
<PolicyName>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2016.AlwaysOn.AvailabilityGroupHealth"]/AvailabilityGroupName$-AlwaysOnAgReplicasDataSynchronizationHealthPolicy</PolicyName>
<InstanceName>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2016.AlwaysOn.AvailabilityGroupHealth"]/InstanceName$</InstanceName>
</Configuration>
</UnitMonitor>