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 :
Procédure :
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
Dans l’Explorateur d’objets, cliquez avec le bouton de droite sur l’instance de serveur, puis cliquez sur Propriétés.
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
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
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.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
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.
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.
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.Sélectionnez l'onglet Haute disponibilité AlwaysOn .
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.
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
Changez de répertoire (
cd
) pour accéder à une instance de serveur pour laquelle vous voulez activer les groupes de disponibilité AlwaysOn.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
Avant de désactiver AlwaysOn :
Pour désactiver AlwaysOn, utilisez :
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 :
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).
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
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.
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.
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.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.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
Remplacez le répertoire (
cd
) par une instance de serveur actuellement activée que vous souhaitez désactiver pour les groupes de disponibilité AlwaysOn.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 :
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).
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.
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.
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)