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

L'activation de Groupes de disponibilité AlwaysOn est indispensable pour qu'une instance de serveur utilise des groupes de disponibilité. Avant de pouvoir créer et configurer un groupe de disponibilité, la fonctionnalité Groupes de disponibilité AlwaysOn 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 puis réactiver la fonctionnalité Groupes de disponibilité AlwaysOn sur chaque instance de SQL Server qui hébergeait un réplica de disponibilité sur le cluster WSFC d'origine.

  • **Avant de commencer : **

    Configuration requise

    Sécurité

  • **Procédure : **

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

    • Activer les groupes de disponibilité AlwaysOn

    • Désactiver les groupes de disponibilité AlwaysOn

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 du serveur doit exécuter une édition de SQL Server qui prend en charge Groupes de disponibilité AlwaysOn. Pour plus d'informations, consultez Fonctionnalités prises en charge par les éditions de SQL Server 2012.

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

Pour plus d'informations sur les conditions préalables supplémentaires requises pour la création et la configuration de groupes de disponibilité, consultez Conditions préalables requises, restrictions et recommandations pour les groupes de disponibilité AlwaysOn (SQL Server).

Sécurité

Lorsque les groupes de disponibilité AlwaysOn sont activés sur une instance de SQL Server, l'instance de serveur a le 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.

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

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

  • SQL Server Management Studio

  • Transact-SQL

  • PowerShell

Utilisation de SQL Server Management Studio

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

  1. Dans l'Explorateur d'objets, cliquez avec le bouton droit sur l'instance de serveur, puis sélectionnez 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 l'option Groupes de disponibilité AlwaysOn est activée

  1. Utilisez l'instruction SERVERPROPERTY suivante :

    SELECT SERVERPROPERTY ('IsHadrEnabled');
    

    Le paramètre de la propriété de serveur IsHadrEnabled 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é de serveur IsHadrEnabled, consultez SERVERPROPERTY (Transact-SQL).

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

Utilisation de PowerShell

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

  1. Définissez comme valeur par défaut (cd) l'instance de serveur sur laquelle vous souhaitez déterminer si Groupes de disponibilité AlwaysOn est activé.

  2. Entrez la commande PowerShell Get-Item suivante :

    PS SQLSERVER:\SQL\NODE1\DEFAULT> get-item . | select IsHadrEnabled
    

    [!REMARQUE]

    Pour afficher la syntaxe d'une applet de commande, utilisez l'applet de commande Get-Help dans l'environnement SQL Server PowerShell. Pour plus d'informations, consultez Obtenir de l'aide sur SQL Server PowerShell.

Pour configurer et utiliser le fournisseur SQL Server PowerShell

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

Activer les groupes de disponibilité AlwaysOn

Pour activer AlwaysOn, utilisez :

  • Gestionnaire de configuration SQL Server

  • PowerShell

Utilisation du Gestionnaire de configuration SQL Server

Pour activer les groupes de disponibilité AlwaysOn

  1. Connectez-vous au nœud de clustering de basculement Windows Server (WSFC) qui héberge l'instance de SQL Server sur laquelle vous souhaitez activer les groupes de disponibilité AlwaysOn.

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

  3. Dans le Gestionnaire de configuration SQL Server, cliquez sur Services SQL Server, 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 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 pas en charge Groupes de disponibilité AlwaysOn pour le moment. L'ordinateur local n'est pas un nœud de cluster, le cluster WSFC a été arrêté, ou cette édition de SQL Server 2012 ne prend pas en charge Groupes de disponibilité AlwaysOn.

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

    Le Gestionnaire de configuration 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é de serveur IsHadrEnabled a la valeur 1.

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

Utilisation de PowerShell SQL Server

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 de commande Get-Help dans l'environnement SQL Server PowerShell. Pour plus d'informations, consultez Obtenir de l'aide sur SQL Server PowerShell.

    [!REMARQUE]

    Pour plus d'informations sur la manière de contrôler si l'applet de commande Enable-SqlAlwaysOn redémarre le service SQL Server, consultez À quel moment 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

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

Exemple : Enable-SqlAlwaysOn

La commande PowerShell suivante active Groupes de disponibilité AlwaysOn sur une instance de SQL Server (Computer\Instance).

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

Désactiver les groupes de disponibilité AlwaysOn

  • Avant de désactiver AlwaysOn :  

    Recommandations

  • Pour désactiver AlwaysOn, utilisez :

    • Gestionnaire de configuration SQL Server

    • PowerShell

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

Important

Désactivez AlwaysOn sur une seule instance de serveur à la fois. Après avoir désactivé les groupes de disponibilité AlwaysOn, attendez le redémarrage du service SQL Server 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 de clustering de basculement Windows Server (WSFC) qui héberge l'instance de SQL Server sur laquelle vous souhaitez désactiver les groupes de disponibilité AlwaysOn.

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

  3. Dans le Gestionnaire de configuration SQL Server, cliquez sur Services SQL Server, 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. Dans l'onglet Haute disponibilité AlwaysOn, désactivez la case à cocher 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é de serveur IsHadrEnabled a la valeur 0, pour indiquer que l'option Groupes de disponibilité AlwaysOn est désactivée.

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

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

Utilisation de PowerShell SQL Server

Pour désactiver AlwaysOn

  1. Changez de répertoire (cd) pour accéder à 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 (Computer\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 manière de contrôler si l'applet de commande Disable-SqlAlwaysOn redémarre le service SQL Server, consultez À quel moment 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 de commande Get-Help dans l'environnement SQL Server PowerShell. Pour plus d'informations, consultez Obtenir de l'aide sur SQL Server PowerShell.

Pour configurer et utiliser le fournisseur SQL Server PowerShell

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

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

Après avoir désactivé des 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 Application sqlservr.

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 Transact-SQL AlwaysOn 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 Groupes de disponibilité AlwaysOn 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 a-t-il été 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, le service SQL Server de l'instance de serveur <nom_instance> doit redémarrer. Voulez-vous continuer ?

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

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

Voir aussi

Référence

SERVERPROPERTY (Transact-SQL)

Concepts

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