Analyse de synchronisation des données de réplicas synchrones

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

Synchronisation des données de réplicas synchrones

Knowledge Base article:

Résumé

Cette analyse regroupe l’état de synchronisation des données de tous les réplicas de disponibilité et vérifie si l’état de synchronisation des réplicas de disponibilité n’est pas celui escompté. L’analyse se trouve dans un état non sain lorsqu’un réplica asynchrone n’est pas à l’état SYNCHRONIZING et qu’un réplica synchrone n’est pas à l’état SYNCHRONIZED. Sinon, l’état de l’analyse est sain.

Causes

Dans ce groupe de disponibilité, au moins un réplica synchrone n’est pas synchronisé actuellement. L’état de synchronisation du réplica peut être SYNCHRONIZING ou NOT SYNCHRONIZING.

Solutions

Recherchez le réplica de disponibilité dont l’état de synchronisation est incorrect en utilisant l’état de l’analyse du réplica de disponibilité, puis résolvez le problème qui affecte le réplica de disponibilité.

Paramètres remplaçables

Nom

Description

Valeur par défaut

Activé

Active ou désactive le flux de travail.

Oui

Génère des alertes

Définit si le flux de travail génère une alerte.

Non

Intervalle (secondes)

L'intervalle de temps récurrent, en secondes, dans lequel exécuter le flux de travail.

900

Nom de la stratégie

 

$Target/Property[Type="AlwaysOnDisc!Microsoft.SQLServer.2012.AlwaysOn.AvailabilityGroupHealth"]/AvailabilityGroupName$-AlwaysOnAgSynchronousReplicasDataSynchronizationHealthPolicy

Délai d'attente (secondes)

Spécifie la durée pendant laquelle le flux de travail est autorisé à s'exécuter avant d'être fermé et marqué comme ayant échoué.

300

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