Monitoraggio sincronizzazione dati repliche di disponibilità

Microsoft.SQLServer.2012.AlwaysOn.AvailabilityReplicasSynchronizing (UnitMonitor)

Sincronizzazione dati delle repliche di disponibilità.

Knowledge Base article:

Riepilogo

Questo monitoraggio esegue il rollup dello stato di sincronizzazione dei dati di tutte le repliche del gruppo di disponibilità e verifica se la sincronizzazione di una di tali repliche di disponibilità non è operativa. Lo stato del monitoraggio non è integro se lo stato di sincronizzazione dei dati di una delle repliche di disponibilità è NON IN SINCRONIZZAZIONE. Lo stato del monitoraggio è integro se lo stato di sincronizzazione dei dati di nessuna delle repliche di disponibilità è NON IN SINCRONIZZAZIONE.

Cause

In questo gruppo di disponibilità, almeno una replica secondaria non si trova nello stato di sincronizzazione NON IN SINCRONIZZAZIONE e non riceve dati dalla replica primaria.

Soluzioni

Individuare la replica di disponibilità con stato NON IN SINCRONIZZAZIONE usando lo stato del monitoraggio delle repliche di disponibilità e risolvere il problema nella replica di disponibilità specifica.

Element properties:

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

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.AlwaysOn.AvailabilityReplicasSynchronizing" 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.AvailabilityGroupHealth" 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.AvailabilityGroupHealth"]/AvailabilityGroupName$-AlwaysOnAgReplicasDataSynchronizationHealthPolicy</PolicyName>
<InstanceName>$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroupHealth"]/InstanceName$</InstanceName>
</Configuration>
</UnitMonitor>