Partager via


Lien de basculement - Azure SQL Managed Instance

S’applique à : Azure SQL Managed Instance

Cet article vous apprend comment basculer une base de données liée entre SQL Server et Azure SQL Managed Instance en utilisant SQL Server Management Studio (SSMS) ou PowerShell.

Remarque

  • La configuration d'Azure SQL Managed Instance comme instance principale initiale est actuellement en aperçu et n'est prise en charge qu'à partir de SQL Server 2022 CU10.

Prérequis

Pour basculer vos bases de données sur votre réplica secondaire via la liaison, vous devez disposer des conditions préalables suivantes :

Arrêter la charge de travail

Si vous êtes prêt à basculer votre base de données vers le réplica secondaire, arrêtez d'abord toutes les charges de travail des applications sur le réplica principal pendant les heures de maintenance. Cela permet à la réplication de la base de données de rattraper le retard sur le réplica secondaire afin que vous puissiez basculer vers le réplica secondaire sans perte de données. Assurez-vous que vos applications n'engagent pas de transactions sur le réplica principal avant de basculer.

Basculer une base de données

Vous pouvez basculer une base de données liée à l’aide de SQL Server Management Studio ou de PowerShell.

Utilisez l'Assistant Basculement entre SQL Server et Managed Instance dans SSMS pour basculer votre base de données de votre réplica principal vers votre réplica secondaire.

Vous pouvez effectuer un basculement planifié à partir du réplica principal ou du réplica secondaire. Pour effectuer un basculement forcé, connectez-vous au réplica secondaire.

Attention

  • Avant de basculer, arrêtez la charge de travail sur la base de données source pour permettre à la base de données répliquée de rattraper complètement son retard et de basculer sans perte de données. Si vous effectuez un basculement forcé, vous risquez de perdre des données.
  • Le basculement d'une base de données dans SQL Server 2019 et les versions antérieures rompt et supprime la liaison entre les deux réplicas. Vous ne pouvez pas effectuer de retour vers le réplica principal initial.
  • Le basculement d 'une base de données lors de la maintenance de la liaison avec SQL Server2022 est actuellement en aperçu.

Pour basculer votre base de données, procédez comme suit :

  1. Ouvrez SSMS et connectez-vous à un réplica.

  2. Dans Explorateur d'objets, faites un clic droit sur votre base de données répliquée, passez sur Liaison Azure SQL Managed Instance, puis sélectionnez Basculement… pour ouvrir l'Assistant Basculement entre SQL Server et Managed Instance. Si vous disposez de plusieurs liaisons à partir de la même base de données, développez Groupes de disponibilité sous Groupes de disponibilité Always On dans Explorateur d'objets et faites un clic droit sur le groupe de disponibilité distribué pour la liaison que vous souhaitez basculer. Sélectionnez Basculement... pour ouvrir l'Assistant Basculement entre SQL Server et Managed Instance pour cette liaison spécifique.

    Capture d’écran montrant une option du menu contextuel de la base de données pour le basculement.

  3. Dans la page Introduction, sélectionnez Suivant.

  4. La page Choisir un type de basculement affiche des détails sur chaque réplica, le rôle de la base de données que vous avez sélectionnée et les types de basculement pris en charge. Vous pouvez initier le basculement à partir de n'importe quel réplica. Si vous choisissez un basculement forcé, vous devez cocher la case pour indiquer que vous comprenez qu'il peut y avoir une perte de données. Cliquez sur Suivant.

    Remarque

    Si vous migrez vers Azure SQL Managed Instance, choisissez Basculement planifié.

  5. Dans la page Se connecter à Azure et à l’instance distante :

    1. Sélectionnez Se connecter pour fournir vos informations d’identification et vous connecter à votre compte Azure.
    2. En fonction du type de basculement sélectionné sur la page précédente, l’option Se connecter fonctionne différemment. Pour un basculement planifié, la connexion à l’instance distante (SQL Server ou SQL Managed Instance) est obligatoire. Pour un basculement forcé, la signature est facultative, car les deux scénarios suivants sont pris en charge :
      • Vraie récupération d'urgence : étant donné que l’instance principale n’est généralement pas disponible lors d’une vraie urgence, la connexion n’est pas possible et l’utilisateur doit basculer immédiatement vers l’instance secondaire, ce qui en fait la nouvelle instance principale. Une fois la panne résolue, le lien est dans un état incohérent, car les deux réplicas se trouvent désormais dans le rôle principal (scénario fractionné-cerveau).
      • Exercice de récupération d'urgence : l’exécution d’exercices de récupération d'urgence avec basculement forcé est déconseillée, car il peut y avoir une perte de données potentielle. Toutefois, pendant un exercice, étant donné que l’instance principale est disponible, la connexion est prise en charge et vous avez la possibilité d’inverser les rôles pour les deux réplicas afin d’éviter le scénario de fractionnement du cerveau.
  6. Dans la page Opérations post-basculement, les options diffèrent entre SQL Server 2022 et versions antérieures, et indiquez si vous avez pu vous connecter à l’instance principale ou non.

    • Pour SQL Server 2022, vous pouvez choisir d'arrêter la réplication entre les répliques, ce qui supprime la liaison et le groupe de disponibilité distribué une fois le basculement terminé. Si vous souhaitez maintenir la liaison et continuer à répliquer les données entre les réplicas, ne cochez pas la case. Si vous choisissez de supprimer la liaison, vous pouvez également cocher la case pour supprimer le groupe de disponibilité si vous l'avez créé uniquement dans le but de répliquer votre base de données sur Azure et que vous n'en avez plus besoin. Cochez les cases correspondant à votre scénario, puis sélectionnez Suivant.
    • Pour SQL Server 2019 et les versions antérieures, l'option Supprimer la liaison est cochée par défaut, et vous ne pouvez pas la décocher car le basculement vers SQL Managed Instance arrête la réplication, rompt la liaison et supprime le groupe de disponibilité distribué. Cochez la case pour indiquer que vous comprenez que la liaison sera supprimée, puis sélectionnez Suivant.
    • (Facultatif) Si vous avez pu vous connecter à l’instance SQL Server sur la page précédente, vous avez également la possibilité de supprimer le groupe de disponibilité sur l’instance SQL Server après un basculement forcé en cochant la case dans la section Nettoyage.
  7. Évaluez les actions sur la page Résumé. Si vous le souhaitez, sélectionnez Script pour générer un script qui vous permettra de basculer facilement la base de données en utilisant la même liaison à l'avenir. Sélectionnez Terminer lorsque vous êtes prêt à basculer la base de données.

  8. Une fois toutes les étapes terminées, la page Résultats affiche des coches en regard des actions accomplies avec succès. Vous pouvez à présent fermer la fenêtre.

Si vous avez choisi de maintenir la liaison pour SQL Server 2022, le réplica secondaire devient le nouveau réplica principal, la liaison reste active et vous pouvez basculer vers le réplica secondaire.

Si vous utilisez SQL Server 2019 et les versions antérieures, ou si vous avez choisi de supprimer la liaison pour SQL Server 2022, cette liaison est supprimée et n'existe plus une fois le basculement terminé. La base de données source et la base de données cible de chaque réplica peuvent toutes deux exécuter une charge de travail en lecture/écriture. Elles sont totalement indépendantes.

Important

Après le basculement réussi vers la SQL Managed Instance, reportez manuellement la chaîne de connexion de votre (vos) application(s) vers le FQDN de SQL Managed Instance pour terminer le processus de migration ou de basculement et continuer l'exécution dans Azure.

Afficher la base de données après le basculement

Pour SQL Server 2022, si vous avez choisi de conserver le lien, vous pouvez vérifier que le groupe de disponibilité distribué existe sous Groupes de disponibilité dans l’Explorateur d'objets dans SQL Server Management Studio.

Si vous avez supprimé la liaison pendant le basculement, vous pouvez utiliser l'Explorateur d'objets pour confirmer que le groupe de disponibilité distribué n'existe plus. Si vous avez choisi de conserver le groupe de disponibilité, la base de données sera toujours Synchronisée.

Nettoyer les groupes de disponibilité

Étant donné que le basculement avec SQL Server 2022 n’interrompt pas le lien, vous pouvez conserver le lien après le basculement, ce qui laisse le groupe de disponibilité et le groupe de disponibilité distribué actif. Aucune action supplémentaire n’est requise.

Toutefois, la suppression du lien supprime uniquement le groupe de disponibilité distribué et laisse le groupe de disponibilité actif. Vous pouvez décider de conserver le groupe de disponibilité ou de le supprimer.

Si vous décidez de supprimer votre groupe de disponibilité, remplacez la valeur suivante, puis exécutez l’exemple de code T-SQL :

  • <AGName> par le nom du groupe de disponibilité sur SQL Server (utilisé pour créer le lien).
-- Run on SQL Server
USE MASTER
GO
DROP AVAILABILITY GROUP <AGName> 
GO

Pour en savoir plus sur la fonctionnalité de liaison, évaluez les ressources suivantes :