Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Applies to :SQL Server
Cet article vous aide à préparer votre environnement pour une migration de VM SQL Server de votre instance de SQL Server activée par Azure Arc vers SQL Server sur des machines virtuelles Azure dans le portail Azure.
Note
- La migration vers SQL Server sur des machines virtuelles sur Azure via le portail Azure est actuellement en version préliminaire.
- Vous pouvez fournir des commentaires sur votre expérience de migration directement vers le groupe de produits.
Prerequisites
Pour migrer vos bases de données SQL Server vers SQL Server sur des machines virtuelles Azure via le portail Azure, vous avez besoin des prérequis suivants :
- Un abonnement actif Azure. Si vous n’en avez pas, créez un compte gratuit.
- Instance de SQL Server activée par Azure Arc avec la dernière version de l’extension Azure pour SQL Server. Pour mettre à niveau votre extension, consultez Mettre à niveau l’extension.
- Vous pouvez choisir d’utiliser une SQL Server existante sur Azure machine virtuelle, ou vous pouvez approvisionner une machine virtuelle cible SQL Server pendant le processus de migration. Si vous choisissez d’utiliser une machine virtuelle SQL Server existante, elle doit être enregistrée avec l’extension SQL IaaS Agent.
Versions de SQL Server prises en charge
SQL Server migration de machine virtuelle fonctionne avec chaque édition de SQL Server sur Windows et Linux.
Le tableau suivant répertorie les versions minimales de SQL Server prises en charge pour la migration :
| version SQL Server | Mise à jour minimale de maintenance requise |
|---|---|
| SQL Server 2025 (17.x) | SQL Server 2025 RTM (17.0.1000.7) |
| SQL Server 2022 (16.x) | SQL Server 2022 RTM (16.0.1000.6) |
| SQL Server 2019 (15.x) | SQL Server 2019 RTM (15.0.2000.5) |
| SQL Server 2017 (14.x) | SQL Server 2017 RTM (14.0.1000.169) |
| SQL Server 2016 (13.x) | SQL Server 2016 RTM (13.0.1400.361) |
| SQL Server 2014 (12.x) | SQL Server 2014 RTM (12.0.2000.8) |
| SQL Server 2012 (11.x) | SQL Server 2012 RTM (11.0.2100.60) |
Permissions
Cette section décrit les autorisations dont vous avez besoin pour migrer vos bases de données SQL Server vers SQL Server sur des machines virtuelles Azure via le portail Azure.
Sur l’instance source SQL Server, vous avez besoin des autorisations suivantes :
- Si vous activez le privilège minimum, les autorisations nécessaires telles que sysadmin sont accordées selon les besoins pendant le processus de migration de base de données.
- Si vous ne pouvez pas utiliser le privilège minimum, vous avez besoin d'autorisations sysadmin sur l'instance source SQL Server.
Vous avez besoin du rôle Contributeur d’ordinateur virtuel sur la machine virtuelle Azure cible pour effectuer la migration.
Créez un compte de stockage
Vous utilisez un compte Azure Blob Storage comme stockage intermédiaire pour les fichiers de sauvegarde entre votre instance de SQL Server et votre SQL Server sur Azure machine virtuelle. Le compte de stockage doit se trouver dans le même abonnement et région Azure que votre SQL Server sur Azure cible de machine virtuelle.
Pour créer un nouveau compte de stockage et un conteneur de blobs à l'intérieur de ce compte :
-
Créez un compte de stockage :
- Recherchez des comptes Storage dans le portail Azure, puis sélectionnez Create.
- Sous l’onglet Informations de base , sélectionnez votre abonnement et votre groupe de ressources. La région doit être identique à votre SQL Server sur Azure cible de machine virtuelle.
- Laissez le type de stockage préféré vide.
- Utilisez les paramètres par défaut pour le reste des onglets, puis sélectionnez Vérifier + créer.
- Une fois la validation réussie, sélectionnez Créer.
-
Créez un conteneur blob dans le compte de stockage.
- Accédez à votre nouveau compte de stockage dans le portail Azure.
- Sous Stockage de données, sélectionnez Conteneurs.
- Utilisez Ajouter un conteneur pour ouvrir le volet Nouveau conteneur .
- Entrez un nom pour votre conteneur, laissez les options par défaut, puis sélectionnez Créer pour créer votre conteneur.
- (Facultatif) Si votre stockage Azure se trouve derrière un pare-feu, votre stockage d'objets blob Azure nécessite une configuration supplémentaire après l’approvisionnement de la machine virtuelle SQL Server. Configurez la délégation pour le sous-réseau avec le nom VM.
Accorder des autorisations à Azure Blob Storage
SQL Server migration de machine virtuelle dans Azure Arc utilise une identité managée pour s’authentifier auprès de Azure Blob Storage.
Vous devez accorder les autorisations suivantes :
- Accordez à l’utilisateur l’accès au compte de stockage dans lequel vous envisagez de stocker des sauvegardes pendant le processus de migration.
- Accordez à l’utilisateur l’accès au groupe de ressources qui contient le compte de stockage.
- Accordez à l'identité managée l'accès au compte de stockage après l'approvisionnement de votre machine virtuelle SQL Server.
Accorder à l’utilisateur l’accès au compte de stockage
Pour accéder aux sauvegardes de base de données pendant le processus de migration, assignez à l'utilisateur, qui se connecte au portail Azure et effectue la migration, le rôle Storage Blob Data Reader pour le compte de stockage qui contient les sauvegardes.
Pour attribuer le rôle, procédez comme suit :
Dans le portail Azure, accédez au groupe de ressources qui contient votre compte de stockage.
Sélectionnez Contrôle d’accès (IAM) à partir du menu ressource.
Utilisez + Ajouter pour sélectionner Ajouter une attribution de rôle et ouvrez le volet Ajouter une attribution de rôle .
Recherchez et sélectionnez le rôle Lecteur de données blob de stockage. Ensuite, sélectionnez Suivant.
Utilisez + Sélectionner des membres pour ouvrir le volet Sélectionner des membres et recherchez le compte d’utilisateur de la personne effectuant la migration. Si plusieurs personnes migrent des données, accordez à tous ces utilisateurs cet accès. Sélectionnez le compte d’utilisateur, puis utilisez Sélectionner pour enregistrer votre sélection. Cochez l’option permettant d’attribuer l’accès à l’utilisateur, au groupe ou au principal du service.
Sélectionnez Vérifier + affecter pour accéder à l’onglet Vérifier + affecter , puis sélectionnez Vérifier + attribuer à nouveau pour terminer l’attribution de rôle.
Accorder à l’utilisateur l’accès au groupe de ressources
Pour accéder aux sauvegardes de base de données pendant le processus de migration, l’utilisateur qui se connecte au portail Azure et effectue la migration doit être affecté au rôle Reader sur le groupe de ressources qui contient le compte de stockage.
Pour attribuer le rôle, procédez comme suit :
Dans le portail Azure, accédez au groupe de ressources qui contient votre compte de stockage.
Sélectionnez Contrôle d’accès (IAM) à partir du menu ressource.
Utilisez + Ajouter pour sélectionner Ajouter une attribution de rôle et ouvrez le volet Ajouter une attribution de rôle .
Recherchez et sélectionnez le rôle Lecteur . Ensuite, sélectionnez Suivant.
Utilisez + Sélectionner des membres pour ouvrir le volet Sélectionner des membres et recherchez le compte d’utilisateur de la personne effectuant la migration. Si plusieurs personnes migrent des données, accordez à tous ces utilisateurs cet accès. Sélectionnez le compte d’utilisateur, puis utilisez Sélectionner pour enregistrer votre sélection. Cochez l’option permettant d’attribuer l’accès à l’utilisateur, au groupe ou au principal du service , puis utilisez Suivant pour continuer.
Sous l’onglet Type d’affectation , définissez le type d’affectation sur Actif et la durée de l’affectation sur Permanent :
Capture d'écran de la définition du type d’affectation sur Actif et de la durée d’affectation sur Permanent dans l’onglet Type d’affectation du portail Azure.
Sélectionnez Vérifier + affecter pour accéder à l’onglet Vérifier + affecter , puis sélectionnez Vérifier + attribuer à nouveau pour terminer l’attribution de rôle.
Accorder à l’identité managée l’accès au compte de stockage
Une fois que votre machine virtuelle SQL Server est configurée, vous devez attribuer à l’identité managée de votre machine virtuelle SQL Server le rôle Storage Blob Data Reader pour qu’elle puisse accéder à votre compte Azure Blob Storage pendant le processus de migration.
Tout d’abord, vous devez déterminer le type d’identité managée utilisée par votre machine virtuelle SQL Server. Pour ce faire, procédez comme suit :
- Accédez à votre ressource de machines virtuelles Virtual machines dans le portail Azure.
- Sous Sécurité, sélectionnez Identité pour ouvrir le volet Identité . Choisissez entre utiliser l’identité affectée par le système ou une identité affectée par l’utilisateur :
- Sous l’onglet Attribué par le système, vous pouvez utiliser l'interrupteur État pour activer l’identité attribuée par le système si elle n’est pas déjà activée. Si l’identité affectée par le système est activée, vous pouvez ensuite sélectionner Attributions de rôle Azure pour accéder à la page Attributions de rôle Azure puis utiliser +Ajouter une attribution de rôle (préversion) pour accorder Lecteur de données Blob de stockage autorisations à l’identité affectée par le système de la machine virtuelle SQL Server en sélectionnant Stockage comme Portée puis en sélectionnant votre ressource.
- Sous l’onglet Utilisateur affecté, vous pouvez voir la liste des identités affectées par l’utilisateur attachées à la machine virtuelle SQL Server. Si vous souhaitez ajouter une nouvelle identité affectée par l’utilisateur, sélectionnez + Ajouter une identité affectée par l’utilisateur, puis sélectionnez une identité affectée par l’utilisateur existante à partir de votre abonnement pour l’attacher à la machine virtuelle SQL Server. Notez le nom de l'identité affectée par l'utilisateur que vous souhaitez utiliser pour l'authentification à Azure Blob Storage, car vous en aurez besoin pour les étapes suivantes.
Pour accorder l’accès à l’identité managée affectée par l’utilisateur au compte de stockage, procédez comme suit :
- Accédez au compte Azure Blob Storage dans le portail Azure que vous envisagez d’utiliser pour la migration.
- Sélectionnez Contrôle d’accès (IAM) à partir du menu ressource.
- Utilisez + Ajouter pour sélectionner Ajouter une attribution de rôle et ouvrez le volet Ajouter une attribution de rôle .
- Recherchez et sélectionnez le rôle Lecteur de données blob de stockage. Ensuite, sélectionnez Suivant.
- Sous Attribuer l’accès pour vérifier l’option Identité managée .
- Utilisez Sélectionner des membres pour ouvrir le volet Sélectionner des membres .
- Sous Identité managée, sélectionnez Identité managée affectée par l’utilisateur.
- Recherchez le nom Primary identity que vous avez noté précédemment dans la page Identity de votre machine virtuelle SQL Server vm et sélectionnez-la.
- Utilisez Sélectionner pour enregistrer votre sélection.
- Sélectionnez Vérifier + affecter pour accéder à l’onglet Vérifier + affecter , puis sélectionnez Vérifier + attribuer à nouveau pour terminer l’attribution de rôle.
Charger des sauvegardes sur votre compte Blob Storage
Lorsque votre conteneur d'objets blob est prêt et que vous avez confirmé que votre machine virtuelle SQL Server peut accéder au conteneur, vous pouvez commencer à charger vos sauvegardes sur votre compte Azure Blob Storage. Lorsque toutes vos sauvegardes sont chargées sur votre compte de stockage, vous êtes prêt à poursuivre la migration.
Pour charger vos sauvegardes dans Azure :
- Effectuer des sauvegardes d'une instance SQL Server.
- Copy vos sauvegardes sur votre compte de Blob Storage.
Envisagez les meilleures pratiques suivantes :
- Effectuez des sauvegardes en utilisant les options
COMPRESSIONetCHECKSUMpour réduire la taille des fichiers de sauvegarde et éviter la migration d'une base de données corrompue. - Effectuez des sauvegardes dans des lots plus petits.
- Utilisez des threads de chargement parallèles.
- Faites en sorte que le dernier fichier de sauvegarde soit aussi petit que possible.
- Pour migrer plusieurs bases de données à l’aide du même conteneur Azure Blob Storage, placez tous les fichiers de sauvegarde d’une base de données individuelle dans un dossier distinct à l’intérieur du conteneur. Utilisez la structure de fichier plat pour chaque dossier de base de données. L’imbrication de dossiers dans des dossiers de base de données n’est pas prise en charge.
Effectuer des sauvegardes sur une instance de SQL Server
Les étapes décrites dans cette section vous montrent comment sauvegarder localement, mais il est également possible de sauvegarder directement dans l’URL.
Configurez les bases de données que vous voulez migrer sur le mode de récupération complète pour autoriser les sauvegardes de fichier journal.
-- To permit log backups, before the full database backup, modify the database to use the full recovery
USE master;
ALTER DATABASE SampleDB
SET RECOVERY FULL;
GO
Si vous n’avez pas encore de sauvegardes existantes, utilisez les exemples de scripts T-SQL suivants pour effectuer manuellement des sauvegardes complètes, différentielles et de journalisation de votre base de données dans le stockage local.
CHECKSUM n’est pas obligatoire, mais il est recommandé pour éviter la migration d'une base de données endommagée et garantir des temps de restauration plus rapides.
L’exemple suivant prend une sauvegarde complète de base de données sur le disque local :
-- Take full database backup to local disk
BACKUP DATABASE [SampleDB]
TO DISK = 'C:\BACKUP\SampleDB_full.bak'
WITH INIT, COMPRESSION, CHECKSUM;
GO
L’exemple suivant prend une sauvegarde différentielle sur le disque local :
-- Take differential database backup to local disk
BACKUP DATABASE [SampleDB]
TO DISK = 'C:\BACKUP\SampleDB_diff.bak'
WITH DIFFERENTIAL, COMPRESSION, CHECKSUM;
GO
L’exemple suivant prend une sauvegarde du journal des transactions sur le disque local :
-- Take transactional log backup to local disk
BACKUP LOG [SampleDB]
TO DISK = 'C:\BACKUP\SampleDB_log.trn'
WITH COMPRESSION, CHECKSUM;
GO
Copier des sauvegardes dans votre compte Blob Storage
Une fois vos sauvegardes prêtes et que vous souhaitez commencer à migrer des bases de données vers une machine virtuelle SQL Server, utilisez les approches suivantes pour copier les sauvegardes existantes vers votre compte Blob Storage :
- Téléchargez et installez AzCopy.
- Téléchargez et installez Azure Storage Explorer.
- Utilisez Storage Explorer dans le portail Azure.
Note
Pour migrer plusieurs bases de données à l’aide du même conteneur Azure Blob Storage, placez tous les fichiers de sauvegarde d’une base de données individuelle dans un dossier distinct à l’intérieur du conteneur. Utilisez la structure de fichier plat pour chaque dossier de base de données. L’imbrication de dossiers dans des dossiers de base de données n’est pas prise en charge.
Valider votre accès au stockage de machines virtuelles SQL Server
Vérifiez que votre machine virtuelle SQL Server peut accéder à votre compte Blob Storage.
Tout d’abord, chargez une sauvegarde de base de données, telle que full_0_0.bak, dans votre conteneur Azure Blob Storage.
Ensuite, connectez-vous à votre machine virtuelle SQL Server et exécutez un exemple de requête de test pour déterminer si votre machine virtuelle SQL Server est en mesure d’accéder à la sauvegarde dans le conteneur.
Si vous utilisez un jeton SAP pour vous authentifier auprès de votre compte de stockage, remplacez le <sastoken> par votre jeton SAP et exécutez la requête suivante sur votre machine virtuelle SQL Server :
CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/databases]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = '<sastoken>';
RESTORE HEADERONLY
FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/full_0_0.bak';
Inscrire SQL Server machines virtuelles avec l’extension SQL IaaS Agent
Si votre machine virtuelle cible SQL Server existe déjà, vous devez l’enregistrer avec l’extension SQL IaaS Agent avant de pouvoir le sélectionner comme cible de migration dans le portail Azure. Si votre machine virtuelle cible SQL Server n'existe pas encore, vous pouvez en provisionner une nouvelle pendant le processus de migration, et elle sera automatiquement inscrite auprès de l'extension SQL IaaS Agent.
Limites
Tenez compte des limitations suivantes lorsque vous migrez vos bases de données SQL Server vers SQL Server sur des machines virtuelles Azure via le portail Azure :
- Si vous migrez une base de données unique, vous devez placer les sauvegardes de base de données dans une structure de fichiers plats à l’intérieur d’un dossier de base de données (y compris le dossier racine du conteneur). Vous ne pouvez pas imbriquer ces dossiers, car l’imbrication n’est pas prise en charge.
- Si vous migrez plusieurs bases de données à l’aide du même conteneur Azure Blob Storage, vous devez placer des fichiers de sauvegarde pour différentes bases de données dans des dossiers distincts à l’intérieur du conteneur.
- Vous ne pouvez pas remplacer les bases de données existantes dans votre SQL Server cible sur une machine virtuelle Azure à l'aide de DMS.
- SQL Server migration ne prend pas en charge la configuration de la haute disponibilité et de la récupération d'urgence sur votre cible pour qu'elle corresponde à la topologie source.
- Les objets serveur suivants ne sont pas pris en charge :
- tâches SQL Server Agent
- Identifiants
- Les packages SQL Server Integration Services (SSIS)
- Audit de serveur
- Vous ne pouvez pas utiliser un runtime d'intégration auto-hébergé existant créé à partir de Azure Data Factory (ADF) pour les migrations de base de données avec DMS.
- Les machines virtuelles avec des versions cibles de SQL Server 2008 et antérieures ne sont pas prises en charge lors de la migration vers SQL Server sur une machine virtuelle Azure.
- L’inscription auprès de l’extension SQL IaaS Agent est requise pour la migration. L’extension prend uniquement en charge une instance par défaut ou une seule instance nommée.
- Vous pouvez migrer au maximum 100 bases de données vers la même machine virtuelle Azure que la cible à l’aide d’une ou plusieurs migrations simultanément. De plus, une fois qu’une migration avec 100 bases de données se termine, attendez au moins 30 minutes avant de commencer une nouvelle migration vers le même SQL Server sur une machine virtuelle Azure que la cible. De plus, chaque opération de migration (démarrer la migration, basculement) pour chaque base de données prend quelques minutes de manière séquentielle. Par exemple, pour migrer 100 bases de données, il peut prendre environ 200 (2 x 100) minutes pour créer les files d'attente de migration et environ 100 (1 x 100) minutes pour transférer l'ensemble des 100 bases de données (à l'exception de la durée de la sauvegarde et de la restauration). Par conséquent, la migration devient plus lente à mesure que le nombre de bases de données augmente. Vous devez planifier une fenêtre de migration plus longue à l’avance en fonction de tests de migration rigoureux, ou partitionner un grand nombre de bases de données en lots lors de leur migration vers SQL Server sur une machine virtuelle Azure.
- Outre la configuration du réseau/pare-feu de votre compte Azure Storage pour permettre à votre machine virtuelle d’accéder aux fichiers de sauvegarde, vous devez également configurer le réseau/pare-feu de votre SQL Server sur une machine virtuelle Azure pour autoriser la connexion sortante à votre compte de stockage.
- Vous devez conserver la machine virtuelle cible Azure activée pendant que la migration SQL Server est en cours. Lors de la création d'une nouvelle migration, assurez-vous de basculer ou d'annuler toute migration déjà en cours.