Synchronisation des données du réplica de disponibilité

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

Knowledge Base article:

Résumé

Cette analyse regroupe l’état de synchronisation des données de tous les réplicas de base de données dans le réplica de disponibilité. L’analyse se trouve dans un état non sain lorsqu’un réplica de base de données ne se trouve pas dans l’état de synchronisation des données attendu. Sinon, l’analyse est saine.

Causes

Au moins une base de données de disponibilité de ce réplica de disponibilité possède un état de synchronisation des données non sain. S’il s’agit d’un réplica de disponibilité en validation asynchrone, toutes les bases de données de disponibilité doivent être à l’état SYNCHRONIZING. S’il s’agit d’un réplica de disponibilité à validation synchrone, toutes les bases de données de disponibilité doivent être à l’état SYNCHRONIZED.

Solutions

Recherchez le réplica de base de données affichant un état de synchronisation des données non sain à l’aide de l’analyse du réplica de base de données, puis résolvez le problème qui affecte le réplica de base de données.

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.AvailabilityReplica"]/AvailabilityGroupName$-$Target/Property[Type="System!System.Entity"]/DisplayName$-AlwaysOnArDataSynchronizationHealthPolicy

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.AvailabilityReplica
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.AvailabilityReplicaDataSynchronizationHealth" 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.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.2012.AlwaysOn.AvailabilityReplica"]/AvailabilityGroupName$-$Target/Property[Type="System!System.Entity"]/DisplayName$-AlwaysOnArDataSynchronizationHealthPolicy</PolicyName>
<InstanceName>$Target/Property[Type="System!System.Entity"]/DisplayName$</InstanceName>
</Configuration>
</UnitMonitor>