Analyse de la synchronisation des données des réplicas de disponibilité

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

Synchronisation des données des réplicas de disponibilité

Knowledge Base article:

Résumé

Cette analyse regroupe l’état de synchronisation des données de tous les réplicas de disponibilité du groupe de disponibilité, puis vérifie si la synchronisation d’un réplica de disponibilité n’est pas opérationnelle. L’analyse se trouve dans un état non sain si l’un des états de synchronisation des données du réplica de disponibilité est NOT SYNCHRONIZED. L’analyse se trouve dans un état sain si aucun des états de synchronisation des données du réplica de disponibilité n’est NOT SYNCHRONIZING.

Causes

Dans ce groupe de disponibilité, au moins un réplica secondaire affiche l’état de synchronisation NOT SYNCHRONIZING et n’accepte pas les données du réplica principal.

Solutions

Recherchez le réplica de disponibilité dont l’état est NOT SYNCHRONIZING en utilisant l’état de l’analyse du réplica de disponibilité, puis résolvez le problème affectant le réplica de disponibilité.

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>