가용성 데이터베이스 데이터 동기화

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>