Groupe de disponibilité en ligne
Ce moniteur vérifie l'état en ligne ou hors connexion du groupe de disponibilité. Le moniteur est défectueux et une alerte est générée quand la ressource de cluster du groupe de disponibilité est hors connexion ou que le groupe de disponibilité n'a pas de réplica principal. L'état du moniteur est sain quand la ressource de cluster du groupe de disponibilité est en ligne et que le groupe de disponibilité a un réplica principal.
Le groupe de disponibilité est hors connexion et n'est pas disponible. Ce problème peut être dû à un échec de l'instance de serveur qui héberge le réplica principal ou à la mise hors connexion de la ressource du groupe de disponibilité WSFC.
Le groupe de disponibilité n'est pas configuré avec le mode de basculement automatique, or le réplica principal n'est plus disponible et le rôle de tous les réplicas du groupe de disponibilité est dans l'état RÉSOLUTION.
Le service d'instance du réplica principal est arrêté ou ne répond pas.
Le groupe de disponibilité a un problème de connectivité avec le cluster.
Le groupe de disponibilité est configuré avec le mode de basculement automatique, or le basculement automatique ne s'est pas effectué en raison d'une erreur.
Pendant le basculement automatique, la vérification de la disponibilité du réplica principal sur le réplica cible échoue et aucun réplica ne peut faire office de nouveau réplica principal.
La ressource du groupe de disponibilité du cluster est hors connexion.
Toutes les ressources de cluster dépendantes rencontrent un problème critique et passent hors connexion, et la ressource de groupe de disponibilité reste hors connexion jusqu'à ce que la ressource dépendante soit en ligne.
Un problème critique dans le cluster désactive la ressource de groupe de disponibilité.
Un basculement automatique, manuel ou forcé est en cours pour le groupe de disponibilité.
Si l'instance SQL Server du réplica principal est défectueuse, vous pouvez la redémarrer et vérifier si le groupe de disponibilité est rétabli dans un état sain.
Si le basculement automatique semble avoir échoué, vous pouvez vérifier si toutes les bases de données d'un réplica sont synchronisées avec le réplica principal précédent, puis basculer sur ce réplica. Sinon, sélectionnez un réplica avec une perte minimale de données et effectuez la récupération à l'aide d'un basculement ou d'un basculement forcé.
Si la ressource du cluster est hors connexion alors que les instances SQL server semblent être saines, vous pouvez vérifier l'intégrité du cluster ou rechercher les éventuels problèmes à l'aide du Gestionnaire du cluster. Vous pouvez essayer de mettre en ligne la ressource de groupe de disponibilité à l'aide de l'outil du gestionnaire du cluster.
Si un basculement est en cours, attendez qu'il se termine.
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.AvailabilityGroupOnline" 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="Error"/>
</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>AlwaysOnAgOnlineStateHealthPolicy</PolicyName>
<BagKey>1-$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.AvailabilityGroupHealth"]/AvailabilityGroupName$</BagKey>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>