Copier ou déplacer une base de données – Azure SQL Managed Instance

S’applique à :Azure SQL Managed Instance

Cet article explique comment copier ou déplacer une base de données en ligne entre des instances dans Azure SQL Managed Instance. Les opérations de copie et de déplacement de base de données sont prises en charge dans différents abonnements Azure au sein du même client Azure.

Vue d’ensemble

Vous pouvez effectuer une opération de copie ou de déplacement en ligne d’une base de données entre des instances managées avec la technologie des groupes de disponibilité Always On. La fonctionnalité de copie et de déplacement crée une base de données sur l’instance de destination en tant que copie de la base de données source. Avec cette fonctionnalité, la réplication des données est fiable, cohérent, asynchrone et en quasi-temps réel.

Quand vous copiez une base de données, la base de données source reste en ligne pendant l’opération et une fois celle-ci effectuée.

À l’inverse, quand vous déplacez une base de données, la base de données source est supprimée une fois l’opération effectuée.

Vous pouvez exécuter plusieurs opérations de copie et de déplacement de base de données depuis l’instance managée source vers une instances cibles ou plus.

La copie et le déplacement d’une base de données diffèrent de la restauration à un instant dans le passé, car elles créent une copie de la base de données une fois l’opération effectuée. La restauration à un instant dans le passé crée une copie de la base de données à partir d’un moment spécifié dans le passé.

Important

Quand vous déplacez une base de données vers une nouvelle destination, les sauvegardes existantes de restauration à un instant dans le passé ne sont pas déplacées avec la base de données et ne sont pas disponibles. La base de données démarre une nouvelle chaîne de sauvegarde sur l’instance de destination au moment où l’opération de déplacement se termine.

Quand utiliser la fonctionnalité

Le déplacement ou la copie d’une base de données est utile quand vous souhaitez :

  • Gérer les exigences de performances et de croissance de la base de données.
  • Équilibrer les charges de travail entre plusieurs instances gérées.
  • Déplacer des bases de données vers une instance avec plus de ressources disponibles pour gérer la charge de travail.
  • Consolidez plusieurs bases de données à partir de plusieurs instances.
  • Créer la parité des bases de données entre les environnements de développement, de test et de production.

Workflow

Voici le workflow pour copier ou déplacer une base de données :

  1. Choisissez la base de données, l’instance managée source et l’instance de destination, puis démarrez l’opération.

    La base de données est amorcée sur le serveur de destination. Vérifiez l’état pour déterminer si l’opération est en cours ou si elle a réussi.

  2. Une fois l’amorçage terminé, l’état de l’opération s’affiche comme prêt pour l’exécution.

    Tant que l’opération n’est pas terminée manuellement, toutes les modifications apportées à la base de données source sont appliquées à la base de données de destination. Vous pouvez annuler l’opération à tout moment. Vous avez 24 heures pour terminer explicitement l’opération. Si vous ne terminez pas l’opération dans les 24 heures, elle est automatiquement annulée et la base de données de destination est supprimée.

  3. Une fois que vous avez terminé l’opération manuellement, votre base de données de destination est mise en ligne et prête pour les charges de travail en lecture et en écriture.

  4. Si vous avez choisi de déplacer la base de données, la base de données source est supprimée. Si vous avez choisi de copier la base de données, la base de données source reste en ligne, mais la synchronisation de données s’arrête.

Un exemple de workflow pour une opération de déplacement est illustré dans le diagramme suivant :

Diagram that illustrates the workflow of a move operation.

La conception de l’opération de déplacement de la base de données garantit qu’il n’y a aucune perte de données. Lorsqu’un utilisateur termine l’opération de déplacement, la base de données source cesse d’accepter les charges de travail et la transaction est répliquée dans la base de données de destination. Ensuite, la base de données de destination devient en ligne et la base de données source a été supprimée. Cette conception garantit que toutes les données de la base de données source sont déplacées vers la base de données de destination.

L’opération de copie de la base de données est similaire au déplacement de la base de données. La seule différence importante est la façon dont l’opération se termine. La fin de l’opération de copie de la base de données arrête la réplication du journal des transactions vers la base de données de destination. Bien que l’utilisateur émet explicitement la commande pour terminer l’opération de copie, l’utilisateur ne contrôle pas exactement le moment où la réplication du journal s’arrête. Enfin, la base de données source et de destination sont en ligne, indépendantes et prêtes pour la charge de travail en lecture et en écriture.

Prérequis

Avant de pouvoir copier ou déplacer une base de données, vous devez satisfaire aux exigences suivantes :

  • Vous devez disposer d’autorisations de lecture pour le groupe de ressources qui contient l’instance managée source et d’autorisations d’écriture au niveau base de données pour les instances source et de destination.
  • Si les instances source et de destination se trouvent dans des réseaux virtuels différents, une connectivité réseau doit exister entre les réseaux virtuels des deux instances, par exemple le peering des réseaux virtuels Azure. En outre, le trafic entrant et sortant sur le port 5022 et la plage de ports 11000-11999 doivent être autorisés pour le protocole TCP. Ceci s'applique aux deux sous-réseaux, hébergeant l'instance source et de destination. Voici la documentation sur la façon d’établir une connectivité réseau entre des instances situées dans différents réseaux virtuels Azure.

Copier ou déplacer une base de données

Vous pouvez copier ou déplacer une base de données vers une autre instance managée avec le portail Azure. Pour ce faire :

  1. Accédez à votre instance gérée dans le portail Azure.

  2. Sous Gestion des données, sélectionnez Bases de données.

  3. Sélectionnez une ou plusieurs bases de données, puis sélectionnez l’option Copier ou Déplacer en haut du volet.

    Le fait de sélectionner Déplacer supprime la base de données source à la fin de l’opération, tandis que le fait de sélectionner Copier maintient en ligne la base de données source à la fin de l’opération. Selon votre choix, la page Déplacer une base de données managée ou Copier une base de données managée s’ouvre. Une fois la page ouverte, vous pouvez sélectionner plus de bases de données à inclure dans l'opération.

    Screenshot of the 'Databases' page for Azure SQL Managed Instance, with the 'Move' and 'Copy' options highlighted.

  4. Dans le volet Détails de la source, fournissez les détails de la base de données source et de l’instance managée.

  5. Dans le volet Détails de la destination, fournissez les détails de l’instance managée de destination.

  6. Sélectionnez Évaluation + Démarrage pour valider les détails de votre source et de votre destination, puis sélectionnez Démarrer pour commencer l’opération.

    Si vous sélectionnez Démarrer, vous revenez à la page Bases de données de votre instance, où vous pouvez surveiller la progression de l’opération.

  7. Dans la page Bases de données, consultez la colonne Détails de l’opération pour vérifier que l’état de votre opération est Déplacement en cours ou Copie en cours.

    Si vous devez annuler, sélectionnez En cours, choisissez la base de données que vous utilisez et sélectionnez Annuler l’opération pour arrêter l’amorçage et supprimer la base de données de destination.

    Screenshot of the 'Databases' page for Azure SQL Managed Instance, showing that a copy operation is in progress.

  8. Surveillez l’opération. Une fois l’amorçage terminé, la colonne Détails de l’opération affiche l’état Déplacement prêt pour exécution ou Copie prête pour exécution.

  9. Sélectionnez Prêt pour l’exécution pour ouvrir la colonne Détails de l’opération, choisissez la base de données que vous êtes prêt à copier ou à déplacer, puis sélectionnez Terminer pour finaliser l’opération et mettre en ligne la base de données de destination.

    Les modifications apportées à la base de données source sont répliquées dans la base de données de destination pendant ce temps, jusqu’à ce que vous sélectionniez Terminer. Si vous ne terminez pas l’opération dans les 24 heures, elle est automatiquement annulée et la base de données de destination est supprimée. Le fait de sélectionner Terminer finalise l’opération et vous ramène à la page Bases de données, où vous pouvez vérifier que l’opération est terminée.

    Si vous avez déplacé la base de données, le nom de la base de données n’est pas disponible, car elle est maintenant hors connexion.

Performances des opérations de copie et de déplacement

Les opérations de copie et de déplacement de base de données ont deux phases. La première est l’essaimage initial et la seconde est la réplication des modifications de la base de données source vers la base de données de destination. En règle générale, l’essaimage initial est une phase plus exigeante de l’opération. Le temps nécessaire à l’essaimage initial dépend de la taille des données et du nombre d’opérations de copie ou de déplacement actives. L’intensité de la charge de travail qui se produit sur la source et la destination Azure SQL Managed Instance, ainsi que la vitesse du réseau entre la source et la destination influencent également la vitesse d’essaimage. Dans des circonstances optimales et lorsque la connectivité entre la source et la destination est établie à l’aide de du VNet peering global recommandé, la vitesse d’essaimage est de 360 Go par heure. Le processus d’amorçage et sa vitesse peuvent être surveillés par le biais du DMV sys.dm_hadr_physical_seeding_stats.

SELECT 
	role_desc,
	transfer_rate_bytes_per_second,
	transferred_size_bytes,
	database_size_bytes,
	start_time_utc,
	estimate_time_complete_utc,
	end_time_utc,
	local_physical_seeding_id
FROM
	sys.dm_hadr_physical_seeding_stats;

Limites

Tenez compte des limitations suivantes de la fonctionnalité de copie et de déplacement :

  • Les instances source et de destination ne peuvent pas être les mêmes.
  • Les instances source et de destination doivent figurer dans la même région Azure.
  • Vous pouvez copier et déplacer des bases de données utilisateur uniquement. La copie et le déplacement de bases de données système ne sont pas pris en charge.
  • Une base de données ne peut participer qu’à une seule opération de déplacement ou de copie à la fois.
  • L’instance source peut exécuter jusqu’à huit opérations de copie ou de déplacement à la fois. Vous pouvez démarrer plus de huit opérations, mais dans cas, certaines sont mises en file d’attente pour être traitées ultérieurement, selon leur gestion par le service.
  • Vous ne pouvez pas renommer une base de données pendant une opération de copie ou de déplacement.
  • Les balises de base de données ne sont pas copiées avec l’opération de copie ou de déplacement.
  • Les opérations de copie ou de déplacement d’une base de données ne copient pas et ne déplacent pas les sauvegardes de restauration à un instant dans le passé.
  • Vous ne pouvez pas copier ni déplacer une base de données qui fait partie d’un groupe de basculement ou qui utilise la liaison Managed Instance.
  • L’instance managée source ou de destination ne doit pas être configurée avec une configuration de groupe de basculement (géo-reprise d’activité après sinistre).
  • Vous devez reconfigurer la réplication transactionnelle, la capture des changements de données ou les transactions distribuées après le déplacement d’une base de données qui s’appuie sur ces fonctionnalités.

Documentation supplémentaire relative à la copie et au déplacement de bases de données.

Pour d’autres options de déplacement de données, consultez :