Partager via


Comment 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é SQL Server Always On, 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 la notification d’échec à un cluster de basculement Windows Server (WSFC) et s’appuie dessus pour prendre la bonne décision en fonction de la configuration de la stratégie.

Pour configurer un groupe de disponibilité Always On afin d’effectuer un basculement lorsque les erreurs 823 et 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 du groupe de disponibilité et sélectionnez Propriétés>Stratégies.

  4. Définissez la valeur de Nombre maximal de redémarrages dans la période spécifiée sur 0.

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

  6. Assurez-vous que vos deux nœuds sont des propriétaires possibles et des 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 SQL Server’alerte d’événement pour Type, spécifiez la valeur numéro d’erreursur 823 ou toute autre erreur souhaitée conformément à la liste, puis sélectionnez OK.

  3. Sélectionnez Réponse, case activée 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 Nom de l’étape, sélectionnez Système d’exploitation (CmdExec) pour Type, puis SQL Server Agent Compte de service pour Exécuter en tant que.

  5. Entrez la commande sqlcmd de basculement suivante :

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

    Remarque

    <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.