Activer et désactiver les groupes de disponibilité AlwaysOn (SQL Server)

L’activation des groupes de disponibilité Always On est un prérequis pour qu’une instance de serveur utilise des groupes de disponibilité. Avant de pouvoir créer et configurer n’importe quel groupe de disponibilité, la fonctionnalité Groupes de disponibilité Always On doit avoir été activée sur chaque instance de SQL Server qui hébergera un réplica de disponibilité pour un ou plusieurs groupes de disponibilité.

Important

Si vous supprimez et recréez un cluster WSFC, vous devez désactiver et réactiver la fonctionnalité Groupes de disponibilité Always On sur chaque instance de SQL Server qui a hébergé un réplica de disponibilité sur le cluster WSFC d’origine.

Avant de commencer

Conditions préalables requises à l'activation des groupes de disponibilité AlwaysOn

  • L'instance de serveur doit résider sur un nœud de Clustering de basculement Windows Server (WSFC).

  • L’instance de serveur doit exécuter une édition de SQL Server qui prend en charge les groupes de disponibilité Always On. Pour plus d'informations, consultez Features Supported by the Editions of SQL Server 2014.

  • Activez les groupes de disponibilité AlwaysOn sur une seule instance de serveur à la fois. Après avoir activé les groupes de disponibilité AlwaysOn, attendez que le service SQL Server ait redémarré avant de passer à une autre instance de serveur.

Pour plus d’informations sur les prérequis supplémentaires pour la création et la configuration de groupes de disponibilité, consultez Conditions préalables, Restrictions et Recommandations pour les groupes de disponibilité AlwaysOn (SQL Server).

Sécurité

Alors que les groupes de disponibilité AlwaysOn sont activés sur une instance de SQL Server, l’instance de serveur a un contrôle total sur le cluster WSFC.

autorisations

Nécessite l'appartenance au groupe Administrateur sur l'ordinateur local et le contrôle total sur le cluster WSFC. Pour activer AlwaysOn à l'aide de PowerShell, ouvrez la fenêtre d'invite de commandes en utilisant l'option Exécuter en tant qu'administrateur .

Requiert des autorisations de création et de gestion d'objets Active Directory.

Déterminer si l'option Groupes de disponibilité AlwaysOn est activée

Utilisation de SQL Server Management Studio

Pour déterminer si les groupes de disponibilité AlwaysOn sont activés

  1. Dans l’Explorateur d’objets, cliquez avec le bouton de droite sur l’instance de serveur, puis cliquez sur Propriétés.

  2. Dans la boîte de dialogue Propriétés du serveur , cliquez sur la page Général . La propriété Is HADR Enabled affiche une des valeurs suivantes :

    • True, si l'option Groupes de disponibilité AlwaysOn est activée

    • False, si l'option Groupes de disponibilité AlwaysOn est désactivée.

Utilisation de Transact-SQL

Pour déterminer si les groupes de disponibilité AlwaysOn sont activés

  1. Utilisez l'instruction SERVERPROPERTY suivante :

    SELECT SERVERPROPERTY ('IsHadrEnabled');  
    

    Le paramètre de la IsHadrEnabled propriété serveur indique si une instance de SQL Server est activée pour les groupes de disponibilité AlwaysOn, comme suit :

    • Si IsHadrEnabled = 1, l'option Groupes de disponibilité AlwaysOn est activée.

    • Si IsHadrEnabled = 0, l'option Groupes de disponibilité AlwaysOn est désactivée.

    Remarque

    Pour plus d’informations sur la propriété du IsHadrEnabled serveur, consultez SERVERPROPERTY (Transact-SQL).

Utilisation de PowerShell

Pour déterminer si les groupes de disponibilité AlwaysOn sont activés

  1. Définissez la valeur par défaut (cd) sur l’instance de serveur (par exemple \SQL\NODE1\DEFAULT) sur laquelle vous souhaitez déterminer si les groupes de disponibilité Always On sont activés.

  2. Entrez la commande PowerShell Get-Item suivante :

    Get-Item . | Select IsHadrEnabled  
    

    Remarque

    Pour afficher la syntaxe d’une applet de commande, utilisez l’applet Get-Help de commande dans l’environnement SQL Server PowerShell. Pour en savoir plus, voir Get Help SQL Server PowerShell.

Pour configurer et utiliser le fournisseur SQL Server PowerShell

Activation des groupes à haute disponibilité AlwaysOn

Pour activer AlwaysOn, utilisez :

Utilisation du Gestionnaire de configuration SQL Server

Pour activer les groupes de disponibilité AlwaysOn

  1. Connectez-vous au nœud WSFC (Clustering de basculement Windows Server) qui héberge l’instance SQL Server où vous souhaitez activer les groupes de disponibilité AlwaysOn.

  2. Dans le menu Démarrer, pointez sur Tous les programmes, pointez sur Microsoft SQL Server 2014, pointez sur Outils de configuration, puis cliquez sur Gestionnaire de configuration SQL Server.

  3. Dans Gestionnaire de configuration SQL Server, cliquez sur SQL Server Services, cliquez avec le bouton droit sur SQL Server (instance name><), où <instance name> est le nom d’une instance de serveur local pour laquelle vous souhaitez activer les groupes de disponibilité AlwaysOn, puis cliquez sur Propriétés.

  4. Sélectionnez l'onglet Haute disponibilité AlwaysOn .

  5. Vérifiez que le champ Nom du cluster de basculement Windows contient le nom du cluster de basculement local. Si ce champ est vide, cette instance de serveur ne prend actuellement pas en charge les groupes de disponibilité Always On. Soit l’ordinateur local n’est pas un nœud de cluster, le cluster WSFC a été arrêté ou cette édition de SQL Server 2014 qui ne prend pas en charge les groupes de disponibilité Always On.

  6. Activez la case à cocher Activer les groupes de disponibilité AlwaysOn , puis cliquez sur OK.

    SQL Server enregistre votre modification. Ensuite, vous devez redémarrer manuellement le service SQL Server . Cela vous permet de choisir l'heure de redémarrage la plus adaptée aux besoins de l'entreprise. Lorsque le service SQL Server redémarre, AlwaysOn est activé et la propriété du IsHadrEnabled serveur est définie sur 1.

Utilisation de SQL Server PowerShell

Pour activer AlwaysOn

  1. Changez de répertoire (cd) pour accéder à une instance de serveur pour laquelle vous voulez activer les groupes de disponibilité AlwaysOn.

  2. Utilisez l'applet de commande Enable-SqlAlwaysOn pour activer les groupes de disponibilité AlwaysOn.

    Pour afficher la syntaxe d’une applet de commande, utilisez l’applet Get-Help de commande dans l’environnement SQL Server PowerShell. Pour en savoir plus, voir Get Help SQL Server PowerShell.

    Remarque

    Pour plus d’informations sur la façon de contrôler si l’applet Enable-SqlAlwaysOn de commande redémarre le service SQL Server, consultez Quand une applet de commande redémarre-t-elle le service SQL Server ?, plus loin dans cette rubrique.

Pour configurer et utiliser le fournisseur SQL Server PowerShell

Exemple : Enable-SqlAlwaysOn

La commande PowerShell suivante active les groupes de disponibilité Always On sur une instance de SQL Server (instance d’ordinateur\).

Enable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance  

Désactiver les groupes de disponibilité AlwaysOn

Important

Désactivez AlwaysOn sur une seule instance de serveur à la fois. Après avoir désactivé les groupes de disponibilité AlwaysOn, attendez que le service SQL Server ait redémarré avant de passer à une autre instance de serveur.

Recommandations

Avant de désactiver AlwaysOn sur une instance de serveur, nous vous recommandons d'effectuer les opérations suivantes :

  1. Si l'instance de serveur héberge actuellement le réplica principal d'un groupe de disponibilité que vous souhaitez conserver, nous recommandons de basculer manuellement le groupe de disponibilité vers un réplica secondaire synchronisé, si possible. Pour plus d’informations, consultez Effectuer un basculement manuel planifié d’un groupe de disponibilité (SQL Server).

  2. Supprimez tous les réplicas secondaires locaux. Pour plus d’informations, consultez Supprimer un réplica secondaire d’un groupe de disponibilité (SQL Server).

Utilisation du Gestionnaire de configuration SQL Server

Pour désactiver AlwaysOn

  1. Connectez-vous au nœud WSFC (Clustering de basculement Windows Server) qui héberge l’instance SQL Server dans laquelle vous souhaitez désactiver les groupes de disponibilité AlwaysOn.

  2. Dans le menu Démarrer, pointez sur Tous les programmes, pointez sur Microsoft SQL Server 2014, pointez sur Outils de configuration, puis cliquez sur Gestionnaire de configuration SQL Server.

  3. Dans Gestionnaire de configuration SQL Server, cliquez sur SQL Server Services, cliquez avec le bouton droit sur SQL Server (<>instance name), où <instance name> est le nom d’une instance de serveur local pour laquelle vous souhaitez désactiver les groupes de disponibilité AlwaysOn, puis cliquez sur Propriétés.

  4. Sur l’ongletHaute disponibilité AlwaysOn, décochez la case Activer les groupes de disponibilité AlwaysOn , puis cliquez sur OK.

    Le Gestionnaire de configuration SQL Server enregistre votre modification et redémarre le service SQL Server. Lorsque le service SQL Server redémarre, AlwaysOn est désactivé et la propriété du IsHadrEnabled serveur est définie sur 0 pour indiquer que les groupes de disponibilité AlwaysOn sont désactivés.

  5. Nous vous recommandons de lire les informations de la section Suivi : Après la désactivation d'AlwaysOn, plus loin dans cette rubrique.

Utilisation de SQL Server PowerShell

Pour désactiver AlwaysOn

  1. Remplacez le répertoire (cd) par une instance de serveur actuellement activée que vous souhaitez désactiver pour les groupes de disponibilité AlwaysOn.

  2. Utilisez l'applet de commande Disable-SqlAlwaysOn pour activer les groupes de disponibilité AlwaysOn.

    Par exemple, la commande suivante désactive les groupes de disponibilité AlwaysOn sur une instance de SQL Server (Ordinateur\Instance). Cette commande nécessite le redémarrage de l'instance et vous serez invité à confirmer ce redémarrage.

    Disable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance  
    

    Important

    Pour plus d’informations sur la façon de contrôler si l’applet Disable-SqlAlwaysOn de commande redémarre le service SQL Server, consultez Quand une applet de commande redémarre-t-elle le service SQL Server ?, plus loin dans cette rubrique.

    Pour afficher la syntaxe d’une applet de commande, utilisez l’applet Get-Help de commande dans l’environnement SQL Server PowerShell. Pour en savoir plus, voir Get Help SQL Server PowerShell.

Pour configurer et utiliser le fournisseur SQL Server PowerShell

Suivi : Après la désactivation d'AlwaysOn

Après avoir désactivé les groupes de disponibilité AlwaysOn, l’instance de SQL Server doit être redémarrée. Le Gestionnaire de configuration SQL redémarre l'instance de serveur automatiquement. Toutefois, si vous avez utilisé l'applet de commande Disable-SqlAlwaysOn, vous devez redémarrer l'instance de serveur manuellement. Pour plus d’informations, consultez sqlservr Application.

Sur l'instance de serveur redémarrée :

  • Les bases de données de disponibilité ne démarrent pas au démarrage de SQL Server, ce qui les rend inaccessibles.

  • La seule instruction AlwaysOn Transact-SQL prise en charge est DROP AVAILABILITY GROUP. Les options CREATE AVAILABILITY GROUP, ALTER AVAILABILITY GROUP et SET HADR de ALTER DATABASE ne sont pas prises en charge.

  • Les métadonnées SQL Server et les données de configuration des groupes de disponibilité Always On dans WSFC ne sont pas affectées par la désactivation des groupes de disponibilité AlwaysOn.

Si vous désactivez définitivement des groupes de disponibilité AlwaysOn sur chaque instance de serveur qui héberge un réplica de disponibilité pour un ou plusieurs groupes de disponibilité, nous recommandons de procéder comme suit :

  1. Si vous ne supprimez pas les réplicas de disponibilité locaux avant de désactiver AlwaysOn, supprimez (avec l'instruction Drop) chaque groupe de disponibilité pour lequel l'instance de serveur héberge un réplica de disponibilité. Pour plus d’informations sur la suppression d’un groupe de disponibilité, consultez Supprimer un groupe de disponibilité (SQL Server).

  2. Pour supprimer les métadonnées restantes, supprimez (avec l'instruction Drop) chaque groupe de disponibilité affecté sur une instance de serveur qui fait partie du cluster WSFC d'origine.

  3. Toutes les bases de données primaires restent accessibles à toutes les connexions, mais la synchronisation des données entre les bases de données primaires et secondaires est arrêtée.

  4. Les bases de données secondaires passent à l'état RESTORING. Vous pouvez les supprimer ou les restaurer à l'aide de RESTORE WITH RECOVERY. Toutefois, les bases de données restaurées ne participent plus à la synchronisation des données des groupes de disponibilité.

À quel moment une applet de commande redémarre-t-elle le service SQL Server ?

Sur une instance de serveur en cours d'exécution, l'utilisation de Enable-SqlAlwaysOn ou de Disable-SqlAlwaysOn pour modifier le paramètre actuel d'AlwaysOn peut entraîner le redémarrage du service SQL Server. Le comportement de redémarrage dépend des conditions suivantes :

Paramètre -NoServiceRestart spécifié Paramètre -Force spécifié Le service SQL Server est-il redémarré ?
Non Non Par défaut. Mais l'applet de commande vous invite à agir comme suit :

Pour permettre l’achèvement de cette action, nous devons redémarrer le service SQL Server de l’instance de serveur « <instance_name> ». Do you want to continue?

[Y] Oui [N] Non [S] Suspendre [?] Aide (la valeur par défaut est « Y ») :

Si vous spécifiez N ou S, le service n'est pas redémarré.
Non Oui Le service est redémarré.
Oui Non Le service n'est pas redémarré.
Oui Oui Le service n'est pas redémarré.

Voir aussi

Vue d’ensemble des groupes de disponibilité AlwaysOn (SQL Server)
SERVERPROPERTY (Transact-SQL)