Синхронизация данных реплики доступности

Microsoft.SQLServer.2014.AlwaysOn.AvailabilityReplicaDataSynchronizationHealth (UnitMonitor)

Этот монитор сворачивает состояние синхронизации данных всех реплик баз данных в реплике доступности. Монитор принимает неисправное состояние, если хотя бы одна реплика базы данных не находится в ожидаемом состоянии синхронизации. В противном случае монитор находится в состоянии "Исправно".

Knowledge Base article:

Сводка

Этот монитор сворачивает состояние синхронизации данных всех реплик баз данных в реплике доступности. Монитор принимает неисправное состояние, если хотя бы одна реплика базы данных не находится в ожидаемом состоянии синхронизации. В противном случае монитор находится в состоянии "Исправно".

Причины

Как минимум одна база данных доступности в этой реплике доступности имеет неисправное состояние синхронизации данных. Если это реплика доступности с асинхронной фиксацией, все базы данных доступности должны находиться в состоянии SYNCHRONIZING. Если эта реплика доступности настроена для синхронной фиксации, все базы данных доступности должны быть в состоянии SYNCHRONIZED.

Решения

Найдите реплику базы данных с нерабочим состоянием синхронизации данных с помощью ее монитора и устраните проблему.

Переопределяемые параметры

Название

Описание

Значение по умолчанию

Включено

 

Да

Создает предупреждения

 

Нет

Интервал (в секундах)

Повторяющийся интервал времени в секундах, по истечении которого запускается рабочий процесс.

900

Время ожидания (в секундах)

Определяет время, в течение которого возможно выполнение рабочего процесса перед закрытием и пометкой как сбойный.

300

Element properties:

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

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2014.AlwaysOn.AvailabilityReplicaDataSynchronizationHealth" RunAs="Microsoft.SQLServer.2014.AlwaysOn.MonitoringAccount" TypeID="Microsoft.SQLServer.2014.AlwaysOn.SystemPolicyScriptMonitorType" Accessibility="Public" Enabled="true" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Target="AlwaysOnDisc!Microsoft.SQLServer.2014.AlwaysOn.AvailabilityReplica" 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.2014.AlwaysOn.AvailabilityReplica"]/AvailabilityGroupName$-$Target/Property[Type="System!System.Entity"]/DisplayName$-AlwaysOnArDataSynchronizationHealthPolicy</PolicyName>
<InstanceName>$Target/Property[Type="System!System.Entity"]/DisplayName$</InstanceName>
</Configuration>
</UnitMonitor>