Share via


Configurer la liaison avec SSMS – Azure SQL Managed Instance

S’applique à :Azure SQL Managed Instance

Cet article vous apprend à configurer une liaison entre SQL Server et Azure SQL Managed Instance en utilisant SQL Server Management Studio (SSMS). Grâce à cette liaison, les bases de données de votre système principal initial sont répliquées sur votre réplica secondaire en quasi-temps réel.

Une fois la liaison créée, vous pouvez basculer sur votre réplica secondaire à des fins de migration ou de récupération d'urgence.

Remarque

  • Il est également possible de configurer la liaison en utilisant les scripts.
  • 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.

Vue d’ensemble

Utilisez la fonctionnalité de liaison pour répliquer les bases de données de votre réplica principal initial vers votre réplica secondaire. Pour SQL Server 2022, le réplica principal initial peut être soit SQL Server, soit Azure SQL Managed Instance. Pour SQL Server 2019 et versions antérieures, le réplica principal initial doit être SQL Server. Une fois la liaison configurée, les bases de données du réplica principal initial sont répliquées vers le réplica secondaire.

Vous pouvez choisir de laisser la liaison en place pour une réplication continue des données dans un environnement hybride entre le réplica principal et le réplica secondaire, ou vous pouvez basculer la base de données vers le réplica secondaire, pour migrer vers Azure ou pour une récupération d'urgence. Pour SQL Server 2019 et les versions antérieures, le basculement vers Azure SQL Managed Instance rompt la liaison et le retour n'est pas pris en charge. Avec SQL Server 2022, vous avez la possibilité de maintenir la liaison et d'effectuer des allers-retours entre les deux réplicas – cette fonctionnalité est actuellement en aperçu.

Si vous prévoyez d'utiliser votre Managed Instance secondaire uniquement pour la récupération d'urgence, vous pouvez réduire les coûts de licence en activant l'avantage du basculement hybride.

Suivez les instructions de cet article pour configurer manuellement la liaison entre SQL Server et Azure SQL Managed Instance. Une fois la liaison créée, votre base de données source reçoit une copie en lecture seule sur votre réplica secondaire cible.

Prérequis

Remarque

Certaines fonctionnalités de la liaison sont en disponibilité générale, tandis que d’autres sont en préversion. Évaluez la prise en charge de version pour en savoir plus.

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

Tenez compte des éléments suivants :

  • La fonctionnalité de liaison prend en charge une base de données par liaison. Pour répliquer plusieurs bases de données à partir d'une instance, créez une liaison pour chaque base de données individuelle. Par exemple, pour répliquer 10 bases de données sur SQL Managed Instance, créez 10 liaisons individuelles.
  • Le classement entre SQL Server et SQL Managed Instance doit être identique. Une incohérence dans le classement peut entraîner une incohérence de la casse du nom de serveur, et empêcher la connexion de SQL Server à SQL Managed Instance.
  • L'erreur 1475 sur votre SQL Server principal initial indique que vous devez démarrer une nouvelle chaîne de sauvegarde en créant une sauvegarde complète sans l'option COPY ONLY.

Autorisations

Pour SQL Server, vous devez disposer des autorisations sysadmin.

Pour Azure SQL Managed Instance, vous devez être membre du Collaborateur SQL Managed Instance ou disposer des autorisations suivantes pour un rôle personnalisé :

Ressource Microsoft.Sql/ Autorisations nécessaires
Microsoft.Sql/managedInstances /read, /write
Microsoft.Sql/managedInstances/hybridCertificate /action
Microsoft.Sql/managedInstances/databases /read, /delete, /write, /completeRestore/action, /readBackups/action, /restoreDetails/read
Microsoft.Sql/managedInstances/distributedAvailabilityGroups /read, /write, /delete, /setRole/action
Microsoft.Sql/managedInstances/endpointCertificates /read
Microsoft.Sql/managedInstances/hybridLink /read, /write, /delete
Microsoft.Sql/managedInstances/serverTrustCertificates /write, /delete, /read

Préparer des bases de données

Si SQL Server est votre réplica principal initial, vous devez créer une sauvegarde de votre base de données. Azure SQL Managed Instance effectue des sauvegardes automatiquement. Il est alors recommandé d'ignorer cette étape si SQL Managed Instance est votre réplica principal initial.

Utilisez SSMS pour sauvegarder votre base de données sur SQL Server. Effectuez les étapes suivantes :

  1. Dans SQL Server Management Studio (SSMS), connectez-vous à SQL Server.
  2. Dans Explorateur d'objets, faites un clic droit sur la base de données, passez sur Tâches, puis choisissez Sauvegarder.
  3. Choisissez Full comme type de sauvegarde.
  4. Assurez-vous que l'option Sauvegarder sur a pour chemin de sauvegarde un disque disposant d'un espace de stockage libre disponible.
  5. Sélectionnez OK pour terminer la sauvegarde complète.

Pour plus d’informations, consultez Créer une sauvegarde complète de base de données.

Remarque

La liaison prend uniquement en charge la réplication des bases de données utilisateur. La réplication des bases de données système n’est pas prise en charge. Pour répliquer des objets au niveau de l'instance (stockés dans master ou msdb), nous vous recommandons de les scripter et d'exécuter des scripts T-SQL sur l'instance de destination.

Dans les étapes suivantes, utilisez l'Assistant Nouvelle liaison Managed Instance dans SSMS pour créer la liaison entre votre réplica principal initial et votre réplica secondaire.

Une fois la liaison créée, votre base de données source obtient une copie en lecture seule sur votre réplica secondaire cible.

  1. Ouvrez SSMS et connectez-vous à votre réplica principal initial.

  2. Dans Explorateur d'objets, faites un clic droit sur la base de données que vous souhaitez lier, passez sur Liaison Azure SQL Managed Instance, puis sélectionnez Nouveau… pour ouvrir l'Assistant Nouvelle liaison de Managed Instance. Si la version de votre SQL Server n'est pas prise en charge, cette option n'est pas disponible dans le menu contextuel.

    Screenshot that shows a database's context menu option to create a new link.

  3. Dans la page Introduction de l'Assistant, sélectionnez Suivant.

  4. Sur la page Spécifier les options de liaison, indiquez un nom pour votre lien – si vous sélectionnez plusieurs bases de données, le nom de la base de données est automatiquement ajouté à la fin du nom que vous fournissez afin que vous n'ayez pas à l'inclure vous-même. Cochez les cases si vous souhaitez activer le dépannage de la connectivité et, pour SQL Server 2022, si vous prévoyez d'utiliser la liaison pour une récupération d'urgence dans les deux sens. Cliquez sur Suivant.

  5. Sur la page Exigences, l'Assistant valide les exigences pour établir une liaison vers votre réplica secondaire. Sélectionnez Suivant une fois toutes les exigences validées, ou résolvez les exigences qui ne sont pas respectées, puis sélectionnez Réexécuter la validation.

  6. Sur la page Sélectionner les bases de données, choisissez la base de données que vous souhaitez répliquer sur votre réplica secondaire via la liaison. La sélection de plusieurs bases de données crée plusieurs groupes de disponibilité distribués, un pour chaque liaison. Cliquez sur Suivant.

  7. Sur la page Spécifier un réplica secondaire, sélectionnez Ajouter un réplica secondaire. Si votre réplica principal initial est SQL Server, il ouvre la fenêtre Connexion à Azure. Si votre réplica principal initial est SQL Managed Instance, il ouvre la boîte de dialogue Connecter au serveur.

    1. Pour un réplica principal initial de SQL Server, connectez-vous à Azure, choisissez l'abonnement, le groupe de ressources et la Managed Instance secondaire de SQL Server dans la liste déroulante. Sélectionnez Connexion pour ouvrir la boîte de dialogue Connecter au serveur, puis connectez-vous à SQL Managed Instance vers laquelle vous souhaitez répliquer votre base de données. Lorsque Connexion réussie s'affiche dans la fenêtre Connexion, sélectionnez OK pour fermer la fenêtre et revenir à l'Assistant Nouvelle Managed Instance.
    2. Pour une SQL Managed Instance principale initiale, connectez-vous à l'instance SQL Server sur laquelle vous souhaitez répliquer votre base de données.
  8. Après avoir ajouté votre réplica secondaire, utilisez les onglets de l'Assistant pour modifier les paramètres du point de terminaison si nécessaire, et évaluez les informations sur les sauvegardes et le point de terminaison de la liaison dans les onglets restants. Sélectionnez Suivant lorsque vous êtes prêt à continuer.

  9. Si SQL Managed Instance est votre réplica principal initial, la page suivante de l'Assistant est la page Se connecter à Azure. Reconnectez-vous au besoin, puis sélectionnez Suivant. Cette page n'est pas disponible lorsque SQL Server est votre réplica principal initial.

  10. Sur la page Validation, vérifiez que toutes les validations sont réussies. En cas d'échec, résolvez-les, puis réexécutez la validation. Lorsque vous êtes prêt, sélectionnez Suivant.

  11. Sur la page Résumé, évaluez votre configuration une fois de plus. Si vous le souhaitez, vous pouvez sélectionner Script pour générer un script qui vous permettra de recréer facilement la même liaison à l'avenir. Sélectionnez Terminer lorsque vous êtes prêt à créer la liaison.

  12. La page Exécution des actions affiche la progression de chaque action.

  13. 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.

Afficher une base de données répliquée

Une fois la liaison créée, votre base de données est répliquée vers le réplica secondaire. En fonction de la taille de la base de données et de la vitesse du réseau, la base de données peut être initialement en état de Restauration sur le réplica secondaire. Une fois l'essaimage initial terminé, la base de données est restaurée sur le réplica secondaire et prête pour les charges de travail en lecture seule.

Sur l'un ou l'autre réplica, utilisez Explorateur d'objets dans SSMS pour afficher l'état Synchronisé de la base de données répliquée. Développez Haute disponibilité Always-on et Groupes de disponibilité pour afficher le groupe de disponibilité distribué créé pour chaque liaison.

Screenshot that shows the state of the SQL Server database and distributed availability group in S S M S.Screenshot that shows the state of the SQL Managed Instance database and distributed availability group.

Quelle que soit l'instance principale, vous pouvez également effectuer un clic droit sur le groupe de disponibilité distribué lié sur SQL Server et sélectionner Afficher le tableau de bord pour afficher le tableau de bord du groupe de disponibilité distribué, qui indique l'état de la base de données liée dans le groupe de disponibilité distribué.

Arrêter la charge de travail

Si vous êtes prêt à migrer ou à 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 ou migrer 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

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.

    Screenshot that shows a database's context menu option for failover.

  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.

  5. Sur la page Connexion à Azure et l'instance distante, sélectionnez Connexion pour fournir vos informations d'identification et vous connecter à votre compte Azure. Sélectionnez Connexion pour vous connecter à votre réplica secondaire SQL Server ou SQL Managed Instance, si vous y êtes invité.

  6. Sur la page Opérations post-basculement, les options diffèrent entre SQL Server 2022 et les versions antérieures.

    1. Pour SQL Server 2022, vous pouvez choisir d'arrêter la réplication entre les réplicas et de supprimer 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.
    2. 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.
  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 maintenir la liaison, vous pouvez vérifier la base de données dans Explorateur d'objets sur SQL Server ou SQL Managed Instance. L'état de la base de données est Synchronisé et le groupe de disponibilité distribué existe sous Groupes de disponibilité.

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

Résolution des problèmes

La section fournit des conseils pour résoudre les problèmes liés à la configuration et à l'utilisation de la liaison.

Erreurs

En cas de message d'erreur lors de la création de la liaison ou du basculement d'une base de données, sélectionnez l'erreur pour ouvrir une fenêtre contenant des détails supplémentaires sur l'erreur.

En cas d'erreur lors de l'utilisation de la liaison, l'Assistant SSMS arrête l'exécution à l'étape qui a échoué et ne la redémarre pas. Résolvez le problème et, si nécessaire, nettoyez l'environnement pour rétablir l'état initial en supprimant le groupe de disponibilité distribué et le groupe de disponibilité s'il a été créé lors de la configuration de la liaison. Ensuite, lancez à nouveau l'Assistant pour recommencer.

État incohérent après le basculement forcé

L'utilisation d'un basculement forcé peut entraîner un état incohérent entre les réplicas principal et secondaire, provoquant un scénario de cerveau divisé du fait que les deux réplicas jouent le même rôle. La réplication des données échoue dans cet état jusqu'à ce que l'utilisateur résolve la situation en désignant manuellement un réplica comme principal et l'autre comme secondaire.

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