Effectuer un basculement manuel planifié d'un groupe de disponibilité (SQL Server)

Cette rubrique explique comment effectuer un basculement manuel sans perte de données (basculement manuel planifié) sur un groupe de disponibilité AlwaysOn à l’aide de SQL Server Management Studio, Transact-SQL ou PowerShell dans SQL Server 2014. Un groupe de disponibilité bascule au niveau d'un réplica de disponibilité. Un basculement manuel planifié, comme tout basculement Always On groupes de disponibilité, effectue la transition d’un réplica secondaire vers le rôle principal et, simultanément, la transition de l’ancien réplica principal vers le rôle secondaire.

Un basculement manuel planifié, pris en charge uniquement lorsque le réplica principal et le réplica secondaire cible s'exécutent en mode de validation synchrone et sont actuellement synchronisés, conserve toutes les données dans les bases de données secondaires jointes au groupe de disponibilité sur le réplica secondaire cible. Une fois la transition du réplica principal précédent vers le rôle secondaire terminé, ses bases de données deviennent les bases de données secondaires et démarrent la synchronisation avec les nouvelles bases de données primaires. Une fois que toutes ont passé à l'état SYNCHRONIZED, le nouveau réplica secondaire devient éligible pour servir de cible d'un futur basculement manuel planifié.

Notes

Si les réplicas principal et secondaire sont tous les deux configurés pour le mode de basculement automatique, une fois que le réplica secondaire est synchronisé, il peut également servir de cible à un basculement automatique. Pour plus d’informations, consultez Modes de disponibilité (groupes de disponibilité AlwaysOn).

Avant de commencer

Limitations et restrictions

Conditions préalables requises et restrictions

  • Le réplica secondaire cible et le réplica principal doivent tous les deux s'exécuter en mode de disponibilité avec validation synchrone.

  • Le réplica secondaire cible doit être actuellement synchronisé avec le réplica principal. Pour cela, il faut que toutes les bases de données secondaires sur ce réplica secondaire aient été jointes au groupe de disponibilité et soient synchronisées avec leurs bases de données primaires correspondantes (autrement dit, les bases de données secondaires locales doivent avoir l'état SYNCHRONIZED).

    Conseil

    Pour déterminer la disponibilité de basculement d'un réplica secondaire, interrogez la colonne is_failover_ready dans la vue de gestion dynamique sys.dm_hadr_database_cluster_states , ou regardez dans la colonne Disponibilité de basculement du tableau de bord du groupe AlwaysOn.

  • Cette tâche est prise en charge uniquement sur le réplica secondaire cible. Vous devez être connecté à l'instance de serveur qui héberge le réplica secondaire cible.

Sécurité

Autorisations

Requiert l'autorisation ALTER AVAILABILITY GROUP sur le groupe de disponibilité, l'autorisation CONTROL AVAILABILITY GROUP, l'autorisation ALTER ANY AVAILABILITY GROUP ou l'autorisation CONTROL SERVER.

Utilisation de SQL Server Management Studio

Pour basculer manuellement un groupe de disponibilité

  1. Dans l'Explorateur d'objets, connectez-vous à une instance de serveur qui héberge un réplica secondaire du groupe de disponibilité qui doit être basculé, et développez l'arborescence du serveur.

  2. Développez le nœud Haute disponibilité AlwaysOn et le nœud Groupes de disponibilité .

  3. Cliquez avec le bouton droit sur le groupe de disponibilité à basculer et sélectionnez la commande Basculement .

  4. Cette commande lance l'Assistant Basculer le groupe de disponibilité. Pour plus d’informations, consultez Utiliser l’Assistant Basculer le groupe de disponibilité (SQL Server Management Studio).

Utilisation de Transact-SQL

Pour basculer manuellement un groupe de disponibilité

  1. Connectez-vous à l'instance de serveur qui héberge le réplica secondaire cible.

  2. Utilisez l'instruction ALTER AVAILABILITY GROUP , comme suit :

    ALTER AVAILABILITY GROUP nom_groupe FAILOVER

    nom_groupe correspond au nom du groupe de disponibilité.

    L’exemple suivant bascule manuellement le groupe de disponibilité MyAg vers le réplica secondaire connecté.

    ALTER AVAILABILITY GROUP MyAg FAILOVER;  
    

Utilisation de PowerShell

Pour basculer manuellement un groupe de disponibilité

  1. Accédez au répertoire (cd) de l'instance de serveur qui héberge le réplica secondaire cible.

  2. Utilisez l'applet de commande Switch-SqlAvailabilityGroup.

    Notes

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

    L’exemple suivant bascule manuellement le groupe de disponibilité MyAg vers le réplica secondaire avec le chemin spécifié.

    Switch-SqlAvailabilityGroup -Path SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MyAg  
    

Pour configurer et utiliser le fournisseur SQL Server PowerShell

Suivi : Après avoir basculé manuellement un groupe de disponibilité

Si vous avez basculé en dehors du groupe de basculement automatique du groupe de disponibilité, ajustez les votes de quorum des nœuds WSFC pour refléter votre nouvelle configuration de groupe de disponibilité. Pour plus d’informations, consultez Clustering de basculement Windows Server (WSFC) avec SQL Server.

Voir aussi

Vue d'ensemble des groupes de disponibilité AlwaysOn (SQL Server)
Basculement et modes de basculement (groupes de disponibilité AlwaysOn)
Effectuer un basculement manuel forcé d'un groupe de disponibilité (SQL Server)