このモニターは、データベース レプリカのデータ同期状態を調べます。モニターが異常状態となるのは、データ同期状態が NOT SYNCHRONIZING であるか、状態が SYNCHRONIZED 以外である (同期コミット データベース レプリカの場合) です。
この可用性データベースのデータ同期状態が正常ではありません。非同期コミット可用性レプリカでは、各可用性データベースは SYNCHRONIZING 状態である必要があります。同期コミット レプリカでは、各可用性データベースは SYNCHRONIZED 状態である必要があります。
可用性レプリカの接続が切断されている可能性があります。
データの移動が中断されている。
データベースがアクセス不可能の可能性があります。
一時的な遅延の問題である可能性があります (ネットワーク待ち時間や、プライマリまたはセカンダリのレプリカへの負荷が原因)。
接続やデータ移動中断の問題がある場合は解決します。SSMS を使用してイベントに問題があるかどうかを調べると共に、データベース エラーを検出し、そのエラーのトラブルシューティング手順に従って問題を解決します。
名前 | 説明 | 既定値 |
有効 | ワークフローを有効または無効にします。 | はい |
アラートの生成 | ワークフローがアラートを生成するかどうかを定義します。 | いいえ |
間隔 (秒) | ワークフローを実行する定期的な実行間隔 (秒)。 | 900 |
ポリシー名 |
| $Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.DatabaseReplica"]/AvailabilityGroupName$-$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.DatabaseReplica"]/Name$-AlwaysOnDbrDataSynchronizationState |
タイムアウト (秒) | ワークフローが終了して失敗とマークされるまでの、ワークフローの許容実行時間を指定します。 | 300 |
Target | Microsoft.SQLServer.2012.AlwaysOn.DatabaseReplica |
Parent Monitor | System.Health.AvailabilityState |
Category | AvailabilityHealth |
Enabled | True |
Alert Generate | False |
Alert Auto Resolve | False |
Monitor Type | Microsoft.SQLServer.2012.AlwaysOn.SystemPolicyScriptMonitorType |
Remotable | True |
Accessibility | Public |
RunAs | Microsoft.SQLServer.2012.AlwaysOn.MonitoringAccount |
<UnitMonitor ID="Microsoft.SQLServer.2012.AlwaysOn.DbrDataSynchronizationState" RunAs="Microsoft.SQLServer.2012.AlwaysOn.MonitoringAccount" TypeID="Microsoft.SQLServer.2012.AlwaysOn.SystemPolicyScriptMonitorType" Accessibility="Public" Enabled="true" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Target="AlwaysOnDisc!Microsoft.SQLServer.2012.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.2012.AlwaysOn.DatabaseReplica"]/AvailabilityGroupName$-$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.DatabaseReplica"]/Name$-AlwaysOnDbrDataSynchronizationState</PolicyName>
<InstanceName>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.DatabaseReplica"]/AvailabilityReplicaServerName$</InstanceName>
</Configuration>
</UnitMonitor>