Vue d’ensemble de la migration : de SQL Server vers Azure SQL Database

S’applique à Azure SQL Database

Découvrez les options et les considérations relatives à la migration de vos bases de données SQL Server vers Azure SQL Database.

Vous pouvez migrer des bases de données SQL Server existantes s’exécutant sur :

  • SQL Server sur les machines virtuelles
  • Amazon EC2 (Elastic Compute Cloud)
  • Amazon RDS (Relational Database Service) pour SQL Server
  • Google Compute Engine
  • Cloud SQL pour SQL Server - GCP (Google Cloud Platform)

Pour obtenir d’autres guides de migration, consultez Migration de base de données.

Vue d’ensemble

Azure SQL Database est une option cible recommandée pour les charges de travail SQL Server qui nécessitent une plateforme en tant que service (PaaS) entièrement gérée. SQL Database gère la plupart des fonctions de gestion de base de données. Elle offre également des fonctionnalités intégrées de haute disponibilité, de traitement intelligent des requêtes, d’évolutivité et de performances pour s’adapter à de nombreux types d’applications.

SQL Database offre une certaine flexibilité avec plusieurs modèles de déploiement et niveaux de service qui prennent en charge différents types d’applications ou de charges de travail.

L’un des principaux avantages de la migration vers SQL Database est que vous pouvez moderniser votre application à l’aide des fonctionnalités PaaS. Vous pouvez ensuite éliminer toute dépendance vis-à-vis des composants techniques délimités au niveau de l’instance, tels que les travaux de SQL Agent.

Vous pouvez également réduire les coûts à l’aide d’Azure Hybrid Benefit pour SQL Server afin de migrer vos licences locales SQL Server vers Azure SQL Database. Cette option est disponible si vous choisissez le modèle d’achat vCore.

Veillez à passer en revue les fonctionnalités du moteur de base de données SQL Server disponibles dans Azure SQL Database pour valider la prise en charge de votre cible de migration.

Considérations

Les facteurs clés à prendre en considération au moment d’évaluer les différentes options de migration dépendent des éléments suivants :

  • Nombre de serveurs et de bases de données
  • Taille des bases de données
  • Temps d’arrêt acceptable pour l’entreprise pendant le processus de migration

Les options de migration listées dans ce guide prennent en compte ces facteurs. Pour une migration de données logiques vers Azure SQL Database, le temps de migration peut dépendre du nombre d’objets contenus dans une base de données et de la taille de la base de données.

Des outils sont disponibles pour différentes charges de travail et préférences utilisateur. Certains outils peuvent être utilisés pour effectuer une migration rapide d’une seule base de données via un outil basé sur une interface utilisateur. D’autres outils peuvent automatiser la migration de plusieurs bases de données pour gérer les migrations à grande échelle.

Choisir une cible appropriée

Tenez compte des recommandations générales pour choisir le modèle de déploiement et le niveau de service d’Azure SQL Database qui conviennent le mieux. Vous pouvez choisir des ressources de calcul et de stockage pendant le déploiement et en changer par la suite via le portail Azure sans temps d’arrêt pour votre application.

Modèles de déploiement : il est important de bien comprendre la charge de travail de votre application et le modèle d’utilisation avant de vous décider entre une base de données unique ou un pool élastique.

  • Une base de données unique est une base de données entièrement gérée qui convient pour la plupart des microservices et applications cloud modernes.
  • Un pool élastique représente une collection de bases de données uniques avec un ensemble partagé de ressources telles que le processeur ou la mémoire. Il convient pour combiner des bases de données dans un pool avec des modèles d’utilisation prévisibles qui peuvent partager efficacement le même ensemble de ressources.

Modèles d’achat : choisissez entre les modèles d’achat vCore, par unité de transaction de base de données (DTU) ou sans serveur.

  • Le modèle vCore vous permet de choisir le nombre de vCores pour l’instance Azure SQL Database, ce qui en fait le choix le plus simple quand vous effectuez une transition à partir de SQL Server en local. Cette option est la seule à permettre de réaliser des économies sur le coût de licence grâce à Azure Hybrid Benefit.
  • Le modèle DTU extrait les ressources sous-jacentes de calcul, de mémoire et d’E/S afin d’offrir une unité de transaction de base de données (DTU) composite.
  • Le modèle serverless s’adresse aux charges de travail qui requièrent une mise à l’échelle automatique à la demande avec des ressources de calcul facturées par seconde d’utilisation. Le niveau de calcul sans serveur interrompt automatiquement les bases de données pendant les périodes d’inactivité (où seul le stockage est facturé). Il reprend automatiquement les bases de données lorsque des nouvelles activités.

Niveaux de service : effectuez un choix parmi trois niveaux de service conçus pour différents types d'applications.

  • Le niveau de service Usage général/Standard offre une option équilibrée et économique avec des calculs et un stockage adaptés pour des applications aux niveaux intermédiaire et inférieur. La redondance est intégrée au niveau de la couche de stockage pour récupérer après les défaillances. Il est conçu pour la plupart des charges de travail de base de données.
  • Le niveau service Critique pour l’entreprise/Premium est destiné aux applications de haut niveau qui requièrent des taux de transactions élevés, des E/S à faible latence et un haut niveau de résilience. Les réplicas secondaires sont disponibles pour le basculement et pour le déchargement des charges de travail de lecture.
  • Le niveau de service Hyperscale est destiné à tous les clients qui ont besoin de performances et d’une disponibilité élevées, de sauvegardes et de restaurations rapides, et/ou d’un stockage rapide et d’une scalabilité de calcul. Cela inclut les clients qui passent au cloud pour moderniser leurs applications, ainsi que les clients qui utilisent déjà d’autres niveaux de service dans Azure SQL Database. Le niveau de service Hyperscale prend en charge un large éventail de charges de travail, de l’OLTP pur à l’analytique pure. Il est optimisé pour les charges de travail OLTP et HTAP (traitement analytique et de transaction hybride).

Important

Le taux de journalisation des transactions est régi par Azure SQL Database pour limiter les taux d’ingestion élevés. À cet effet, pendant la migration, vous pourriez avoir à mettre à l’échelle les ressources de la base de données cible (vCores ou DTU) pour alléger la pression sur le processeur ou le débit. Choisissez une base de données cible de taille appropriée, mais prévoyez si nécessaire de procéder à un scale-up des ressources pour la migration.

Alternative à la machine virtuelle SQL Server

Votre entreprise a peut-être des exigences qui font de SQL Server sur machines virtuelles Azure une cible plus indiquée qu’Azure SQL Database.

Si l’une des conditions suivantes s’applique à votre entreprise, envisagez de passer à une machine virtuelle SQL Server à la place :

  • Vous avez besoin d’un accès direct au système d’exploitation ou au système de fichiers, par exemple pour installer des agents tiers ou personnalisés sur une même machine virtuelle avec SQL Server.
  • Vous dépendez obligatoirement de fonctionnalités qui ne sont pas encore prises en charge, comme FileStream/FileTable, PolyBase et les transactions entre plusieurs instances.
  • Vous devez conserver une version spécifique de SQL Server (2012, par exemple).
  • Vos exigences de calcul sont beaucoup plus faibles que ce qu’offre une instance gérée (un seul vCore, par exemple), et la consolidation des bases de données n’est pas une option acceptable.

Outils de migration

Nous vous recommandons d’utiliser les outils de migration suivants :

Technology Description
Azure Migrate Ce service Azure vous permet de découvrir et d’évaluer votre patrimoine de données SQL à grande échelle sur VMware. Il fournit des recommandations sur le déploiement Azure SQL, le dimensionnement cible et les estimations mensuelles.
Extension de migration Azure SQL pour Azure Data Studio Fournie par le service Azure Database Migration, l’extension Azure SQL Migration pour Azure Data Studio vous aide à évaluer vos besoins de base de données dans le but de connaître votre état de préparation à la migration, d’obtenir les recommandations de référence SKU de taille appropriée pour les ressources Azure, et de migrer votre base de données SQL Server vers Azure. Vous pouvez migrer des bases de données uniques ou à grande échelle en utilisant PowerShell et Azure CLI.

Le tableau suivant liste d’autres outils de migration :

Technology Description
Réplication transactionnelle Réplique les données des tables de la base de données Azure SQL Server source dans Azure SQL Database en proposant une option de migration de type publication-abonnement tout en préservant la cohérence transactionnelle. Les modifications de données incrémentielles sont propagées aux abonnés à mesure qu’elles se produisent sur les serveurs de publication.
Service d’importation/exportation / BACPAC Un BACPAC est un fichier Windows avec une extension .bacpac qui encapsule le schéma et les données d’une base de données. BACPAC permet d’exporter des données à partir d’une source SQL Server et d’importer des données dans Azure SQL Database. Un fichier BACPAC peut être importé dans une nouvelle instance SQL Database à partir du portail Azure.

Pour des raisons d’échelle et de performances, si vous disposez de bases de données volumineuses ou en nombre, envisagez d’utiliser l’outil de ligne de commande SqlPackage pour exporter et importer des bases de données.
Copie en bloc L’outil bcp (bulk copy program) permet de copier les données d’une instance SQL Server dans un fichier de données. Utilisez l’outil pour exporter les données de votre source et importer le fichier de données dans l’instance Azure SQL Database cible.

Pour profiter d’opérations de copie en bloc à haut débit lors du déplacement de données vers Azure SQL Database, l’outil Smart Bulk Copy peut être utilisé pour optimiser la vitesse de transfert en tirant parti des tâches de copie en parallèle.
Azure Data Factory. L’activité de copie d’Azure Data Factory migre les données des bases de données SQL Server sources vers Azure SQL Database à l’aide de connecteurs intégrés et d’un runtime d’intégration.

Azure Data Factory prend en charge un large éventail de connecteurs pour déplacer les données de sources SQL Server vers Azure SQL Database.
Synchronisation des données SQL SQL Data Sync est un service qui s’appuie sur Azure SQL Database et qui vous permet de synchroniser les données sélectionnées de façon bidirectionnelle dans plusieurs bases de données, tant en local que dans le cloud.
Data Sync est utile quand les données doivent être mises à jour dans plusieurs bases de données dans Azure SQL Database ou SQL Server.

Comparer les options de migration

Comparez les options de migration de façon à emprunter la voie qui vous permettra de répondre à vos besoins métier.

Le tableau suivant compare les options de migration recommandées :

Option de migration Quand l’utiliser Considérations
Azure Migrate - Découverte et évaluation de bases de données uniques ou à grande échelle à partir de différents environnements. - Toutes les étapes de prémigration, comme la découverte, les évaluations et le dimensionnement approprié des ressources locales, sont prévues pour l’infrastructure, les données et les applications.
Extension de migration Azure SQL pour Azure Data Studio - Migration de bases de données uniques ou à grande échelle.
- Mode hors connexion uniquement.

Sources prises en charge :
- SQL Server (à partir de 2008) localement ou sur des machines virtuelles Azure
- SQL Server sur Amazon EC2
- Amazon RDS pour SQL Server
- SQL Server sur Google Compute Engine
- Les migrations à grande échelle peuvent être automatisées via PowerShell ou Azure CLI.

- La durée de la migration dépend de la taille de la base de données et du nombre d’objets qu’elle contient.

- Azure Data Studio est requis quand vous n’utilisez pas PowerShell ni Azure CLI.

Le tableau suivant compare les autres options de migration :

Méthode ou technologie Quand l’utiliser Considérations
Réplication transactionnelle - Migration avec une publication continue des modifications des tables de base de données sources vers les tables Azure SQL Database cibles.
- Effectuer une migration complète ou partielle des tables sélectionnées (sous-ensemble d’une base de données).

Sources prise en charge :
- SQL Server (2016 à 2019) avec certaines limitations
- AWS EC2
- GCP Compute SQL Server VM
- La configuration est relativement complexe par rapport à d’autres options de migration.
- Offre une option de réplication continue pour migrer les données (sans mettre les bases de données hors connexion).
- La réplication transactionnelle présente des limitations dont vous devez tenir compte si vous configurez l’éditeur sur l’instance SQL Server source. Pour plus d’informations, consultez Limitations de la publication d’objets.
- Il est possible de superviser l’activité de réplication.
Service d’importation/exportation / BACPAC - Migration de bases de données d’applications métier individuelles.
- Adapté aux bases de données de plus petite taille.
- Ne nécessite pas de service ou d’outil de migration distinct.

Sources prise en charge :
- SQL Server (2005 à 2019) en local ou azure VM
- AWS EC2
- AWS RDS
- GCP Compute SQL Server VM
– Impose un temps d’arrêt dans la mesure où les données doivent être exportées à la source et importées à la destination.
- Les formats de fichiers et les types de données utilisés dans l’exportation ou importation doivent être cohérents avec les schémas de table pour éviter les erreurs de troncation ou de non-correspondance de types de données.
- L’exportation d’une base de données comportant un grand nombre d’objets peut prendre beaucoup plus de temps.
Copie en bloc – Effectuer des migrations complètes ou partielles de données.
- Acceptation de temps d’arrêt.

Sources prise en charge :
- SQL Server (2005 à 2019) en local ou azure VM
- AWS EC2
- AWS RDS
- GCP Compute SQL Server VM
– Impose un temps d’arrêt pour exporter les données de la source et les importer dans la cible.
- Les formats de fichiers et les types de données utilisés dans l’exportation/importation doivent être cohérents avec les schémas de table.
Azure Data Factory. - Migration et/ou transformation des données à partir des bases de données SQL Server sources.
- Fusion de données issues de plusieurs sources de données vers Azure SQL Database, généralement pour des charges de travail de type décisionnel.
- Impose la création de pipelines de déplacement des données dans Data Factory pour déplacer les données de la source vers la destination.
- Le coût est une considération importante qui varie en fonction des déclencheurs de pipeline, des exécutions d’activité, de la durée de déplacement des données, etc.
Synchronisation des données SQL - Synchronisation des données entre les bases de données source et cible.
- Convient pour l’exécution d’une synchronisation continue entre Azure SQL Database et une instance SQL Server locale dans un flux bidirectionnel.
- Azure SQL Database doit être la base de données Hub pour la synchronisation avec une base de données SQL Server local en tant que base de données membre.
- En comparaison de la réplication transactionnelle, SQL Data Sync prend en charge la synchronisation bidirectionnelle des données entre un environnement local et Azure SQL Database.
-Selon la charge de travail, son impact sur le niveau de performance peut être plus élevé.

Interopérabilité des fonctionnalités

D’autres éléments sont à prendre en considération quand vous migrez des charges de travail qui reposent sur d’autres fonctionnalités SQL Server.

SQL Server Integration Services

Vous pouvez migrer des packages SQL Server Integration Services (SSIS) vers Azure en les redéployant sur le runtime Azure-SSIS dans Azure Data Factory. Azure Data Factory prend en charge la migration des packages SSIS en offrant un runtime conçu pour exécuter les packages SSIS dans Azure. Vous pouvez également réécrire la logique SSIS ETL (extraction, transformation, chargement) en mode natif dans Azure Data Factory à l’aide des flux de données.

SQL Server Reporting Services

Migrez les rapports SQL Server Reporting Services (SSRS) vers des rapports paginés dans Power BI. Utilisez l’outil de migration RDL pour préparer et migrer vos rapports. Microsoft a développé cet outil pour aider les clients à migrer les rapports RDL (Report Definition Language) de leurs serveurs SSRS vers Power BI. Il est disponible sur GitHub et fournit une procédure complète pour un scénario de migration.

Haute disponibilité

La configuration manuelle des fonctionnalités de haute disponibilité de SQL Server comme les instances de cluster de basculement Always On et les groupes de disponibilité Always On deviennent obsolètes sur la base de données SQL cible. L’architecture de haute disponibilité est déjà intégrée aux niveaux de service Usage général (modèle de disponibilité standard) et Critique pour l’entreprise (modèle de disponibilité Premium) pour Azure SQL Database. Le niveau de service critique pour l’entreprise/premium propose également un scale-out en lecture qui permet de se connecter à l’un des nœuds secondaires pour des besoins de lecture seule.

Au-delà de l’architecture de haute disponibilité incluse dans la base de données Azure SQL, la fonctionnalité des groupes de basculement vous permet de gérer la réplication et le basculement des bases de données vers un serveur dans une autre région.

Connexions et groupes

Les connexions Windows ne sont pas prises en charge dans Azure SQL Database. Créez plutôt un identifiant à partir de Microsoft Entra ID (anciennement Azure Active Directory). Recréez manuellement les connexions SQL.

Travaux SQL Agent

Les travaux SQL Agent ne sont pas directement pris en charge dans Azure SQL Database et doivent être déployés dans des tâches de base de données élastique (préversion).

Bases de données système

Pour Azure SQL Database, les seules bases de données système applicables sont master et tempdb. Pour plus d’informations, consultez Tempdb dans Azure SQL Database.

Fonctionnalités avancées

Veillez à tirer parti des fonctionnalités cloud avancées de SQL Database. Par exemple, vous n’avez plus à vous soucier de la gestion des sauvegardes, car le service le fait à votre place. Vous pouvez effectuer une restauration à n’importe quel point dans le temps inclus dans la période de rétention.

Pour renforcer la sécurité, pensez à ’utiliser l’authentification Microsoft Entra, l’audit, la détection des menaces, la sécurité au niveau des lignes et le masquage dynamique des données.

En plus des fonctionnalités de gestion et de sécurité avancées, Azure SQL Database propose des outils qui peuvent vous aider à superviser et ajuster votre charge de travail. Azure SQL Analytics (préversion) est une solution avancée qui permet de superviser dans une même vue les performances de toutes vos bases de données dans Azure SQL Database à grande échelle et sur plusieurs abonnements. Azure SQL Analytics collecte et visualise des métriques de performances clés à l’aide d’une intelligence intégrée pour résoudre les problèmes de performances.

Le réglage automatique supervise en permanence les performances de votre plan d’exécution SQL et corrige automatiquement les problèmes de performances identifiés.

Ressources de migration

Pour obtenir une aide supplémentaire, consultez les ressources suivantes qui ont été développées pour des projets de migration concrets.

Asset Description
Outil et modèle d’évaluation d’une charge de travail de données Cet outil fournit des suggestions pour les plateformes cibles, la préparation du cloud et le niveau de correction des applications/bases de données qui sont les mieux adaptés pour une charge de travail. Il propose des fonctionnalités de génération de rapports et de calculs simples en un clic qui permettent d’accélérer l’évaluation des grands patrimoines en fournissant un processus automatisé et uniforme de prise de décision concernant la plateforme cible.
Création de bases de données en bloc avec PowerShell Vous pouvez utiliser un jeu de trois scripts PowerShell qui créent un groupe de ressources (create_rg.ps1), le serveur logique dans Azure (create_sqlserver.ps1) et la base de données SQL (create_sqldb.ps1). Sachant que les scripts incluent des fonctionnalités d’exécution en boucle, vous pouvez itérer et créer autant de serveurs et de bases de données que nécessaire.
Déploiement de schémas en bloc avec MSSQL-Scripter et PowerShell Cette ressource crée un groupe de ressources, un ou plusieurs serveurs logiques dans Azure pour héberger Azure SQL Database, exporte chaque schéma à partir d’une instance SQL Server locale (ou de plusieurs instances SQL Server 2005+), puis les importe dans Azure SQL Database.
Convertir des travaux SQL Server Agent en tâches de base de données élastique Ce script migre vos travaux SQL Server Agent sources vers des tâches de base de données élastique.
Utilitaire permettant de déplacer des connexions SQL Server locales vers Azure SQL Database Script PowerShell qui crée un script de commande T-SQL visant à recréer les connexions et à sélectionner les utilisateurs de base de données d’une instance SQL Server locale vers Azure SQL Database. Cet outil permet de mapper automatiquement des comptes Windows Server Active Directory à des comptes Microsoft Entra et, éventuellement, de migrer des connexions natives SQL Server.
Automatisation de la collecte des données perfmon à l’aide de Logman Vous pouvez utiliser l’outil Logman pour collecter des données Perfmon (pour vous aider à comprendre les performances de base) et obtenir des recommandations sur la cible de la migration. Cet outil se sert de logman.exe pour créer la commande qui va créer, démarrer, arrêter et supprimer les compteurs de performances définis sur une instance SQL distante.

L’équipe d’ingénierie SQL des données a développé ces ressources. La charte fondamentale de cette équipe a pour objet d’initier et d’accélérer une modernisation complexe et de faire face aux projets de migration de plateforme de données vers la plateforme Azure Data de Microsoft.

Étapes suivantes