可用性データベース データ同期

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

このモニターは、データベース レプリカのデータ同期状態を調べます。モニターが異常となるのは、データ同期状態が NOT SYNCHRONIZING であるか、状態が SYNCHRONIZED 以外である (同期コミット データベース レプリカの場合) ときです。

Knowledge Base article:

概要

このモニターは、データベース レプリカのデータ同期状態を調べます。モニターが異常となるのは、データ同期状態が NOT SYNCHRONIZING であるか、状態が SYNCHRONIZED 以外である (同期コミット データベース レプリカの場合) ときです。

原因

この可用性データベースのデータ同期状態が正常ではありません。非同期コミット可用性レプリカでは、各可用性データベースは SYNCHRONIZING 状態である必要があります。同期コミット レプリカでは、各可用性データベースは SYNCHRONIZED 状態である必要があります。

解決方法

接続やデータ移動中断の問題がある場合は解決します。SSMS を使用してイベントに問題があるかどうかを調べると共に、データベース エラーを検出し、そのエラーのトラブルシューティング手順に従って問題を解決します。

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

名前

説明

既定値

有効

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

はい

アラートを生成する

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

いいえ

間隔 (秒)

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

900

タイムアウト (秒)

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

300

Element properties:

TargetMicrosoft.SQLServer.2016.AlwaysOn.DatabaseReplica
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.DbrDataSynchronizationState" 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.DatabaseReplica" 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.DatabaseReplica"]/AvailabilityGroupName$-$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2016.AlwaysOn.DatabaseReplica"]/Name$-AlwaysOnDbrDataSynchronizationState</PolicyName>
<InstanceName>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2016.AlwaysOn.DatabaseReplica"]/AvailabilityReplicaServerName$</InstanceName>
</Configuration>
</UnitMonitor>