Partager via


Guide pratique pour configurer un groupe de disponibilité Always On pour effectuer un basculement lorsque le fichier de données de base de données n’est pas disponible

Résumé

Dans un groupe de disponibilité Always On SQL Server, la détection d’intégrité au niveau de la base de données peut effectuer un basculement uniquement si l’erreur (défaillance du disque ou similaire) se produit dans le journal des transactions de base de données.

Si l’erreur se produit sur le fichier de données, SQL Server envoie uniquement l’avis d’échec à un cluster de basculement Windows Server (WSFC) et s’appuie sur celui-ci pour prendre la bonne décision en fonction de la configuration de la stratégie.

Pour configurer un groupe de disponibilité Always On pour effectuer un basculement lorsque des erreurs 823 et d’autres se produisent, utilisez l’une des procédures suivantes :

Configurer le Gestionnaire du cluster de basculement

Cette procédure configure la stratégie WSFC pour provoquer un basculement vers l’un des propriétaires possibles au lieu de tenter de redémarrer le rôle sur le nœud principal actuel.

  1. Ouvrez le Gestionnaire du cluster de basculement.

  2. Développez votre cluster et sélectionnez Rôles.

  3. Cliquez avec le bouton droit sur le rôle de groupe de disponibilité et sélectionnez Stratégies de propriétés>.

  4. Définissez la valeur maximale des redémarrages au cours de la période spécifiée sur 0.

  5. Cochez la case Si toutes les tentatives de redémarrage échouent, redémarrez à nouveau après la période spécifiée (hh :mm), puis sélectionnez OK.

  6. Assurez-vous que vos deux nœuds sont les propriétaires possibles et les propriétaires préférés.

Option de configuration personnalisée

Cette procédure fournit un exemple d’utilisation du mécanisme d’alerte disponible dans SQL Server et SQL Server Agent pour détecter l’erreur et effectuer un basculement.

  1. Dans SQL Server Management Studio, développez SQL Server Agent, cliquez avec le bouton droit sur Alertes, puis sélectionnez Nouvelle alerte....

  2. Spécifiez une valeur pour Name, sélectionnez l’alerte d’événement SQL Server pour Type, spécifiez la valeur du numéro d’erreur sur 823 ou toute autre erreur souhaitée en fonction de la liste, puis sélectionnez OK.

  3. Sélectionnez Réponse, vérifiez exécuter le travail, sélectionnez le travail souhaité, puis sélectionnez OK.

  4. Dans la boîte de dialogue Propriétés de l’étape de travail, spécifiez une valeur pour le nom de l’étape, sélectionnez Système d’exploitation (CmdExec) pour Type, puis sélectionnez Compte de service sql Server Agent pour l’exécution.

  5. Entrez la commande sqlcmd de basculement suivante :

    sqlcmd -S <SecondaryReplicaName> -U SQLADMIN -P <YourPassword> -Q "ALTER Availability Group <AGName> Failover"

    Note

    <SecondaryReplicaName>, <YourPassword>et <AGName> sont des espaces réservés. Vous devez le modifier pour qu’il corresponde à vos environnements. Ce script est un exemple de référence. Un script complet doit effectuer d’autres vérifications avant d’effectuer un basculement.