Synchronisation de données des réplicas synchrones
Ce moniteur cumule l'état de synchronisation des données de tous les réplicas de disponibilité et vérifie si un réplica de disponibilité n'est pas dans l'état de synchronisation attendu. Le moniteur est défectueux quand un réplica asynchrone n'est pas dans l'état SYNCHRONISATION et qu'un réplica synchrone n'est pas dans l'état SYNCHRONISÉ. Sinon, l'état du moniteur est sain.
Dans ce groupe de disponibilité, au moins un réplica synchrone n'est pas synchronisé. L'état de synchronisation du réplica peut être SYNCHRONISATION ou SANS SYNCHRONISATION.
Recherchez le réplica de disponibilité avec un état de synchronisation incorrect à l'aide de l'état du moniteur du réplica de disponibilité, et résolvez le problème dans le réplica de disponibilité.
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 (en secondes) | Intervalle régulier (en secondes) auquel exécuter le flux de travail. | 900 |
Heure de synchronisation | Heure de la synchronisation spécifiée selon un format de 24 heures. Peut être omise. |
|
Délai d'expiration (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 |
Délai d’attente pour la connexion de base de données (secondes) | Le workflow échoue et enregistre un événement s’il ne peut pas accéder à la base de données pendant la période spécifiée. | 15 |
Target | Microsoft.SQLServer.Windows.AvailabilityGroupHealth |
Parent Monitor | System.Health.AvailabilityState |
Category | AvailabilityHealth |
Enabled | True |
Alert Generate | False |
Alert Auto Resolve | True |
Monitor Type | Microsoft.SQLServer.Windows.MonitorType.AlwaysOnSystemPolicy |
Remotable | True |
Accessibility | Public |
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Windows.Monitor.AvailabilityGroupHealth.AvailabilityReplicasSynchronizationState" Accessibility="Public" Enabled="true" Target="SqlDiscW!Microsoft.SQLServer.Windows.AvailabilityGroupHealth" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Windows.MonitorType.AlwaysOnSystemPolicy" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="HealthState" HealthState="Success"/>
<OperationalState ID="Critical" MonitorTypeStateID="ErrorState" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<PolicyName>AlwaysOnAgSynchronousReplicasDataSynchronizationHealthPolicy</PolicyName>
<BagKey>1-$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.AvailabilityGroupHealth"]/AvailabilityGroupName$</BagKey>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>