可用性資料庫資料同步處理

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

此監視器會查看資料庫複本的資料同步處理狀態。當資料同步處理狀態為「未同步處理」,或同步認可資料庫複本的狀態不是「已同步處理」時,監視器就會處於狀況不良的狀態。

Knowledge Base article:

摘要

此監視器會查看資料庫複本的資料同步處理狀態。當資料同步處理狀態為「未同步處理」,或同步認可資料庫複本的狀態不是「已同步處理」時,監視器就會處於狀況不良的狀態。

原因

此可用性資料庫的資料同步處理狀態不良。在非同步認可可用性複本上,每個可用性資料庫都應該處於 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>