Stratégie flexible pour le basculement automatique d'un groupe de disponibilité (SQL Server)

Une stratégie de basculement flexible vous offre un contrôle granulaire sur les conditions qui entraînent un basculement automatique d'un groupe de disponibilité. En changeant les conditions d'échec qui déclenchent un basculement automatique et la fréquence des contrôles d'intégrité, vous pouvez augmenter ou diminuer la probabilité d'un basculement automatique pour assurer le contrat de niveau de service relatif à la haute disponibilité.

La stratégie de basculement flexible d'un groupe de disponibilité est définie par son niveau de condition et le seuil du délai d'attente de contrôle d'intégrité. Lorsque le dépassement du niveau de condition d'échec ou du seuil du délai d'attente de contrôle d'intégrité d'un groupe de disponibilité est détecté, la DLL de ressource du groupe de disponibilité répond au Clustering de basculement Windows Server (WSFC). Le cluster WSFC initialise un basculement automatique vers le réplica secondaire.

Important

Si un groupe de disponibilité dépasse le seuil d'échec WSFC, le cluster WSFC ne tente pas un basculement automatique du groupe de disponibilité. En outre, le groupe de ressources WSFC du groupe de disponibilité reste à l'état d'échec jusqu'à ce que l'administrateur de cluster mette manuellement le groupe de ressources en ligne ou jusqu'à ce que l'administrateur de base de données exécute un basculement manuel du groupe de disponibilité. Le seuil d'échec WSFC est le nombre maximal d'échecs autorisés pour le groupe de disponibilité au cours d'une période donnée. La période par défaut est de six heures, et la valeur par défaut du nombre maximal d'échecs au cours de cette période est n-1, où n est le nombre de nœuds de WSFC. Pour modifier les valeurs de seuil/d'échec pour un groupe de disponibilité donné, utilisez la console du gestionnaire de basculement WSFC.

Cette rubrique contient les sections suivantes :

  • Seuil du délai d'attente de contrôle d'intégrité

  • Niveau de condition d'échec

  • Tâches associées

  • Contenu connexe

Seuil du délai d'attente de contrôle d'intégrité

La DLL de ressource WSFC du groupe de disponibilité exécute uncontrôle d'intégrité du réplica principal en appelant la procédure stockée sp_server_diagnostics sur l'instance de SQL Server qui héberge le réplica principal. sp_server_diagnostics retourne les résultats à un intervalle égal à 1/3 du seuil de délai d'attente de contrôle d'intégrité pour le groupe de disponibilité. Le seuil par défaut du délai d'attente de contrôle d'intégrité est de 30 secondes, ce qui signifique que sp_server_diagnostics répond à un intervalle de 10 secondes. Si sp_server_diagnostics est lent ou ne retourne pas d'informations, la DLL de ressource attend la fin de l'intervalle complet du seuil de délai d'attente de contrôle d'intégrité avant de déterminer si le réplica principal ne répond pas. Si le réplica principal ne répond pas, un basculement automatique est initialisé, si actuellement pris en charge.

Important

sp_server_diagnostics n'exécute pas les contrôles d'intégrité au niveau de la base de données.

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Niveau de condition d'échec

Le fait que les données de diagnostic et les informations d'intégrité retournées par sp_server_diagnostics justifient un basculement, dépend du niveau de condition d'échec du groupe de disponibilité. Le niveau de condition d'échec spécifie les conditions d'échec qui déclenchent un basculement automatique. Il existe cinq niveaux de condition d'échec, allant du moins restrictif (niveau 1) au plus restrictif (le niveau 5). Chaque niveau comprend les niveaux moins restrictifs. Par conséquent, le niveau de condition le plus strict, le niveau 5, inclut les quatre conditions moins restrictives (1 à 4), et ainsi de suite.

Important

Les bases de données endommagées et suspectes ne sont détectées par aucun niveau de condition d'échec. Par conséquent, une base de données qui est endommagée ou suspecte (que ce soit en raison d'une défaillance matérielle, de l'altération des données ou de tout autre problème) ne déclenche jamais de basculement automatique.

Le tableau suivant décrit les conditions d'échec qui correspondent à chaque niveau.

Niveau

Condition d'échec

Valeur Transact-SQL

Valeur PowerShell

Un

Le serveur est arrêté. Spécifie qu'un basculement automatique est initialisé lorsque l'une des conditions suivantes se produit :

Il s'agit du niveau le moins restrictif.

1

OnServerDown

Deux

Le serveur ne répond pas. Spécifie qu'un basculement automatique est initialisé lorsque l'une des conditions suivantes se produit :

  • L'instance SQL Server ne se connecte pas au cluster et le seuil du délai d'attente de contrôle d'intégrité spécifié par l'utilisateur pour le groupe de disponibilité est dépassé.

  • Le réplica de disponibilité est dans un état d'échec.

2

OnServerUnresponsive

Trois  

Erreur critique du serveur. Spécifie qu'un basculement automatique est initialisé en cas d'erreurs internes critiques SQL Server, telles que les verrouillages spinlock orphelins, les violations graves d'accès en écriture, ou en cas de trop de vidages.

C'est le niveau par défaut.

3

OnCriticalServerError

Quatre

Erreur de serveur modérée. Spécifie qu'un basculement automatique est initialisé en cas d'erreurs internes modérées SQL Server, telles qu'une condition persistante de mémoire insuffisante dans le pool de ressources interne SQL Server.

4

OnModerateServerError

Cinq

Conditions d'échec qualifiées. Spécifie qu'un basculement automatique est initialisé pour toutes les conditions d'échec qualifiées, notamment :

  • Insuffisance des threads de travail du moteur SQL.

  • Détection d'un blocage insoluble.

Il s'agit du niveau le plus restrictif.

5

OnAnyQualifiedFailureConditions

[!REMARQUE]

L'absence de réponse par une instance de SQL Server aux demandes des clients n'est pas pertinente pour les groupes de disponibilité.

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Tâches associées

Pour configurer un basculement automatique

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Contenu connexe

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Voir aussi

Référence

sp_server_diagnostics (Transact-SQL)

Concepts

Vue d'ensemble des groupes de disponibilité AlwaysOn (SQL Server)

Modes de disponibilité (groupes de disponibilité AlwaysOn)

Basculement et modes de basculement (groupes de disponibilité AlwaysOn)

Clustering de basculement Windows Server (WSFC) avec SQL Server

Stratégie de basculement pour les instances de cluster de basculement