Partager via


Guide de migration : SQL Server vers Azure SQL Managed Instance

S’applique à : Azure SQL Managed Instance

Dans ce guide, vous apprendrez à migrer vos bases de données utilisateur de SQL Server vers Azure SQL Managed Instance.

Passez en revue les conditions préalables et effectuez les phases de pré-migration avant de continuer.

Migrer

Une fois que vous avez terminé les étapes de la phase de pré-migration, vous êtes prêt à effectuer la migration des schémas et des données.

Migrez les données à l’aide de la méthode de migration de votre choix.

Cette section fournit des étapes de migration générales pour les options de migration recommandées suivantes :

  • Liaison Managed Instance
  • Service LRS
  • Extension de migration Azure SQL pour Azure Data Studio - Migration avec un temps d’arrêt quasi nul.
  • Native RESTORE DATABASE FROM URL - Utilise des sauvegardes natives à partir de SQL Server et nécessite un temps d’arrêt.

SQL Managed Instance cible des scénarios d’utilisateur qui exigent une migration de base de données en masse depuis des implémentations locales ou de machine virtuelle. Ils constituent le meilleur choix lorsque vous avez besoin d’effectuer une migration « lift-and-shift » du back end des applications qui utilisent régulièrement des fonctionnalités au niveau de l’instance et/ou entre plusieurs bases de données. Si cela correspond à votre scénario, vous pouvez déplacer toute une instance vers un environnement correspondant dans Azure sans devoir redéfinir l’architecture de vos applications.

Pour déplacer des instances SQL, vous devez planifier avec soin :

  • La migration de toutes les bases de données qui ont besoin d’être colocalisées (celles qui s’exécutent sur la même instance).
  • La migration des objets au niveau de l’instance dont votre application dépend, notamment les connexions, les informations d’identification, les travaux et opérateurs de l’Agent SQL, ainsi que les déclencheurs au niveau du serveur.

SQL Managed Instance est un service managé qui vous permet de déléguer certaines des activités courantes d’administration des bases de données à la plateforme, car elles y sont intégrées. Ainsi, certaines données au niveau de l’instance n’ont pas besoin d’être migrées, notamment les travaux de maintenance pour les sauvegardes régulières ou la configuration Always On, étant donné que la haute disponibilité est intégrée.

Azure Data Studio

Cette section fournit des étapes essentielles pour migrer de SQL Server vers Azure SQL Managed Instance avec un temps d’arrêt minimal à l’aide de l’extension de migration Azure SQL dans Azure Data Studio. Pour des instructions détaillées, consultez Tutoriel : Migrer SQL Server vers Azure SQL Managed Instance en ligne dans Azure Data Studio.

Pour effectuer des migrations avec Azure Data Studio, suivez les étapes suivantes :

  1. Téléchargez et installez Azure Data Studio et l’extension de migration Azure SQL pour Azure Data Studio.
  2. Lancez l’Assistant Migrer vers Azure SQL Migration dans l’extension d’Azure Data Studio.
  3. Sélectionnez des bases de données pour évaluation, et consultez l’état de préparation ou les problèmes de la migration (le cas échéant). Collectez aussi des données de performances et obtenez une recommandation d’Azure pour une taille appropriée.
  4. Sélectionnez votre compte Azure et votre instance Azure SQL Managed Instance cible dans votre abonnement.
  5. Sélectionnez l’emplacement de vos sauvegardes de base de données. Vos sauvegardes de base de données peuvent se trouver sur un partage réseau local ou dans un conteneur Stockage Blob Azure.
  6. Créez un service Azure Database Migration Service en utilisant l’Assistant dans Azure Data Studio. Si vous avez déjà créé un service Azure Database Migration Service en utilisant Azure Data Studio, vous pouvez réutiliser le même si vous le souhaitez.
  7. Facultatif : Si vos sauvegardes se trouvent sur un partage réseau local, téléchargez et installez le runtime d’intégration auto-hébergé sur une machine qui peut se connecter au serveur SQL Server source et à l’emplacement contenant les fichiers de sauvegarde.
  8. Démarrez la migration de la base de données et surveillez la progression dans Azure Data Studio. Vous pouvez aussi surveiller la progression sous la ressource Azure Database Migration Service dans le portail Azure.
  9. Effectuez le basculement.
    1. Arrêtez toutes les transactions entrantes vers la base de données source.
    2. Apportez les changements de configuration nécessaires aux applications pour qu’elles pointent vers la base de données cible dans Azure SQL Managed Instance.
    3. Effectuez les sauvegardes de fin de journal pour la base de données source à l’emplacement de sauvegarde spécifié.
    4. Vérifiez que toutes les sauvegardes de base de données sont à l’état Restauré dans la page des détails de la supervision.
    5. Sélectionnez Terminer le basculement dans la page des détails de la supervision.

Cette section fournit des étapes essentielles pour migrer de SQL Server vers Azure SQL Managed Instance avec un temps d’arrêt minimal à l’aide du lien Managed Instance. Pour obtenir des instructions détaillées, consultez Migrer avec le lien.

Pour migrer avec le lien, procédez comme suit :

  1. Créez votre SQL Managed Instance cible : Portail Azure, PowerShell, Azure CLI.
  2. Préparez votre environnement en vue de la liaison.
  3. Configurez la liaison avec SSMS ou les scripts.
  4. Arrêtez la charge de travail.
  5. Validez les données sur l’instance cible.
  6. Basculez le lien.

Service LRS

Cette section fournit des étapes essentielles pour migrer de SQL Server vers Azure SQL Managed Instance avec un temps d’arrêt minimal à l’aide de Log Replay Service (LRS). Pour obtenir des instructions détaillées, consultez Migrer des bases de données à partir de SQL Server à l’aide de Log Replay Service.

Pour migrer avec LRS, procédez comme suit :

  1. Créez un compte de stockage Azure avec un conteneur d’objets blob.
  2. Authentifiez-vous auprès de votre compte de stockage Stockage Blob à l’aide d’un jeton SAS ou d’une identité managée et validez l’accès.
  3. Veillez à configurer correctement votre structure de dossiers si vous envisagez de migrer plusieurs bases de données.
  4. Chargez vos sauvegardes sur votre compte de stockage en copiant vos sauvegardes ou en effectuant des sauvegardes directement à l’aide de l’URL BACKUP TO.
  5. Déterminez si vous souhaitez exécuter LRS en mode autocomplétion ou continu.
  6. Démarrez LRS.
  7. Supervisez la progression de la migration.
  8. Terminez la migration (si elle est en mode continu).

Sauvegarde et restauration

L’une des principales fonctionnalités d’Azure SQL Managed Instance, qui permet une migration rapide et facile des bases de données, est la restauration native vers SQL managed instance des fichiers de sauvegarde des bases de données (.bak) stockés dans le stockage Azure. La sauvegarde et la restauration sont des opérations asynchrones basées sur la taille de votre base de données.

Le diagramme suivant fournit une vue d’ensemble du processus :

Le diagramme présente SQL Server avec une flèche intitulée SAUVEGARDE / Charger vers l’URL en direction de Stockage Azure, et une deuxième flèche intitulée RESTAURER à partir de l’URL allant de Stockage Azure vers une instance de SQL Managed Instance.

Notes

Le temps nécessaire pour effectuer une sauvegarde, la charger vers le stockage Azure et exécuter une opération de restauration native sur Azure SQL Managed Instance dépend de la taille de la base de données. Prenez en compte un temps d’arrêt suffisant pour les grandes bases de données.

Le tableau suivant fournit des informations supplémentaires sur les méthodes que vous pouvez utiliser en fonction de la version de SQL Server source que vous exécutez :

Étape Moteur SQL et version Méthode de sauvegarde/restauration
Placer la sauvegarde sur le stockage Azure Avant 2012 SP1 CU2 Charger le fichier .bak directement sur le stockage Azure
2012 SP1 CU2 - 2016 Sauvegarde directe utilisant la syntaxe WITH CREDENTIAL dépréciée
2016 et versions ultérieures Sauvegarde directe utilisant WITH SAS CREDENTIAL
Restaurer à partir du stockage Azure vers une instance managée RESTORE FROM URL avec SAS CREDENTIAL

Important

Lorsque vous migrez une base de données protégée par Transparent Data Encryption vers une instance managée à l’aide d’une option de restauration native, le certificat correspondant provenant de la machine virtuelle SQL Server Azure ou locale doit être migré avant la restauration de la base de données. Pour des étapes détaillées, consultez Migrer vers Azure SQL Managed Instance un certificat d’une base de données protégée par TDE.

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

Pour effectuer une migration à l’aide de la fonctionnalité de sauvegarde et restauration, suivez les étapes ci-dessous :

  1. Sauvegardez votre base de données sur le Stockage Blob Azure. Par exemple, utilisez la fonctionnalité de sauvegarde vers une URL dans SQL Server Management Studio. Utilisez Microsoft Azure Tools pour prendre en charge les bases de données antérieures à SQL Server 2012 SP1 CU2.

  2. Connectez-vous à votre instance Azure SQL Managed Instance via SQL Server Management Studio.

  3. Créez des informations d’identification à l’aide d’une signature d’accès partagé pour accéder à votre compte Stockage Blob Azure avec vos sauvegardes de base de données. Par exemple :

    CREATE CREDENTIAL [https://mitutorials.blob.core.windows.net/databases]
        WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
            SECRET = '<secret>'
    
  4. Restaurez la sauvegarde à partir du conteneur Azure Storage Blob. Par exemple :

    RESTORE DATABASE [TargetDatabaseName]
    FROM URL = 'https://mitutorials.blob.core.windows.net/databases/WideWorldImporters-Standard.bak'
    
  5. Une fois la restauration effectuée, visualisez la base de données dans l’Explorateur d’objets de SQL Server Management Studio.

Pour en savoir plus sur cette option de migration, consultez Démarrage rapide : restaurer une base de données dans Azure SQL Managed Instance avec SSMS.

Remarque

Une opération de restauration de base de données est asynchrone et peut être retentée. SQL Server Management Studio peut générer une erreur en cas d’interruption de la connexion ou d’expiration d’un délai d’attente. Azure SQL Database continue d’essayer de restaurer la base de données en arrière-plan et vous pouvez suivre l’avancement de la restauration dans les vues sys.dm_exec_requests et sys.dm_operation_status.

Synchronisation des données et basculement

Quand vous utilisez des options de migration qui répliquent/synchronisent en permanence les changements apportés aux données de la source vers la cible, les données et le schéma sources peuvent varier et dériver par rapport à la cible. Pendant la synchronisation des données, vérifiez que tous les changements apportés à la source sont capturés et appliqués à la cible au cours du processus de migration.

Une fois que vous avez vérifié que les données sont identiques sur la source et la cible, vous pouvez effectuer le basculement de l’environnement source vers l’environnement cible. Il est important de planifier le processus de basculement avec les équipes métier/applicatives de façon à garantir que l’interruption minimale lors du basculement n’affecte pas la continuité de l’activité.

Important

Pour plus d’informations sur les étapes spécifiques associées à l’exécution d’un basculement dans le cadre de migrations à l’aide du service DMS, consultez Exécution du basculement de migration.

Postmigration

Une fois que vous avez réussi la phase de migration, vous devez effectuer toute une série de tâches post-migration pour vérifier que tout fonctionne de manière fluide et efficace.

La phase de postmigration est cruciale pour résoudre les problèmes de justesse et d’exhaustivité des données ainsi que pour gérer les problèmes de performances liés à la charge de travail.

Surveiller et corriger les applications

Après avoir effectué la migration vers une instance managée, vous devez contrôler le comportement de l’application et les performances de votre charge de travail. Ce processus comporte les activités suivantes :

Effectuer des tests

L’approche de test pour la migration de base de données comprend les activités suivantes :

  1. Développer des tests de validation : pour tester la migration d’une base de données, vous devez utiliser des requêtes SQL. Vous devez créer les requêtes de validation à exécuter sur les bases de données source et cible. Vos requêtes de validation doivent couvrir l’étendue que vous avez définie.
  2. Configurer un environnement de test: l’environnement de test doit contenir une copie de la base de données source et de la base de données cible. Veillez à isoler l’environnement de test.
  3. Exécuter des tests de validation : exécutez les tests de validation sur la source et sur la cible, puis analysez les résultats.
  4. Exécuter des tests de performances: exécutez un test de performances sur la source et sur la cible, puis analysez et comparez les résultats.

Utiliser des fonctionnalités avancées

Vous pouvez tirer parti des fonctionnalités cloud avancées offertes par SQL Managed Instance, notamment la haute disponibilité intégrée, la détection des menaces ainsi que la supervision et le paramétrage de votre charge de travail.

Azure SQL Analytics vous permet de superviser un grand nombre d’instances managées de manière centralisée.

Certaines fonctionnalités SQL Server sont disponibles uniquement une fois que vous avez fait passer le niveau de compatibilité de la base de données au dernier niveau (150).