VENTES: 1-800-867-1389

Migration vers SQL Server dans une machine virtuelle de Azure

Mis à jour: mars 2014

Cette rubrique fournit des informations sur la migration d'une base de données SQL Server sur site basée sur la plateforme Windows Server vers SQL Server dans des machines virtuelles Azure. Elle inclut également un flux de travail décisionnel pour choisir entre exécuter votre application SQL Server dans une machine virtuelle dans le cloud ou migrer votre base de données SQL Server existante vers la Base de données SQL Azure (Base de données SQL).

SQL Server dans une machine virtuelle vous permet de réduire le coût total de possession d'un déploiement, la gestion et la maintenance des applications à l'échelle de l'entreprise en les migrant facilement vers Azure. La migration d'applications SQL Server existantes vers des ordinateurs virtuels de Azure requiert peu de modification de code, voire aucune. Avec SQL Server dans une machine virtuelle, les administrateurs et les développeurs peuvent utiliser les mêmes outils de développement et d'administration disponibles sur site.

Auteur : Selcin Turkarslan
Réviseurs : Evgeny Krivosheev, Paolo Salvatori, Lindsey Allen, Steve Howard

Sections de cet article

L'utilisation de SQL Server dans une machine virtuelle Azure peut autoriser plusieurs scénarios sur site dans le cloud :

  • Développement et test d'application rapides : développez une application de base de données qui nécessite des validations dans un environnement en production. Au lieu d'acheter du nouveau matériel pour valider ou tester votre application, utilisez SQL Server dans Virtual Machine. Créez simplement une machine virtuelle à l'aide de l'image de plateforme qui contient SQL Server ou bien téléchargez votre propre image vers Azure. Puis, connectez-vous à votre nouvel ordinateur, déplacez vos données et configurez, testez et réparez votre application.

  • Coût total de possession de la plateforme de virtualisation : déplacez votre plateforme de virtualisation existante sur site vers Azure. Au lieu d'acheter de nouveaux matériels pour exécuter un nombre croissant d'applications d'entreprise dans votre propre plateforme de virtualisation sur site, déplacez-les sur Azure en vous servant de l'infrastructure SQL Server dans une machine virtuelle Azure.

  • Mise à l'échelle à la demande rapide : obtenez plus de ressources de calcul, de stockage et réseau pour gérer les pics saisonniers d'utilisation des applications. Au lieu d'acheter du matériel supplémentaire que vous n'allez utiliser qu'un temps, utilisez l'infrastructure SQL Server dans une machine virtuelle de Azure.

  • Disponibilité et mobilité des données : en hébergeant les bases de données SQL Server dans une machine virtuelle Azure, vous les mettez à disposition à la fois des applications sur site et des applications dans le cloud.

Le flux de travail décisionnel suivant explique dans quels cas choisir SQL Server dans une machine virtuelle et la Base de données SQL Azure :

  • Pour les nouvelles applications de base de données, utilisez la Base de données SQL Azure (Base de données SQL) ou SQL Server dans une machine virtuelle de Azure :

    • Si la Base de données SQL prend en charge toutes les fonctionnalités requises, configurez une nouvelle instance de la Base de données SQL Azure. Développez votre nouvelle application de base de données à l'aide du Kit de développement logiciel Azure SDK et des plug-ins pour Visual Studio, Java, PHP ou Node.js. Déployez votre application dans Azure et créez vos tables dans une base de données SQL.

    • Si la Base de données SQL ne prend pas en charge toutes les fonctionnalités requises et vous ne souhaitez pas investir pour reconcevoir votre base de données d'application, configurez un nouveau service d'ordinateur virtuel avec l'image de plateforme SQL Server fournie sur le Portail de gestion. Créez un package de déploiement de base de données à l'aide de SQL Server Data Tools. Déployez ce package vers SQL Server dans une machine virtuelle. Vous pouvez gérer, mettre à niveau et surveiller votre base de données à l'aide d'outils d'administration traditionnels, tels que SQL Server Management Studio.

  • Pour les applications de base de données existantes, commencez par identifier celles que vous souhaitez migrer vers SQL Server dans une machine virtuelle de Azure. Ensuite, choisissez l'une de ces deux options :

    • Convertissez les ordinateurs physiques ou virtuels en VHD Hyper-V à l'aide de System Center 2012 Virtual Machine Manager, d'un ordinateur « physique à virtuel » (P2V) ou d'un assistant « virtuel à virtuel » (V2V). Téléchargez les fichiers VHD du stockage Azure à l'aide de l'applet de commande Add-AzureVHD. Vous pouvez ensuite déployer une nouvelle machine virtuelle à l'aide du VHD téléchargé. Vous pouvez gérer, mettre à niveau et surveiller votre base de données à l'aide d'outils d'administration traditionnels, tels que SQL Server Management Studio.

    • Configurez un nouveau service de machine virtuelle avec l'image de plateforme SQL Server et les ressources de calcul dans le cloud de la couche Application sur le portail de gestion Azure. Créez un package de déploiement de base de données à l'aide des outils de données SQL Server et de SQL Server Management Studio. Migrez la couche Application existante dans le projet Azure à l'aide du Kit de développement logiciel Azure SDK et des plug-ins pour Visual Studio, Java, PHP ou Node.js. Déployez une couche Application dans Azure et accédez à vos données dans le cloud.

Remarque importante : Nous vous conseillons également de lire l'article Compréhension de la base de données SQL Azure et de SQL Server dans les machines virtuelles Azure pour en savoir plus sur ces deux options SQL, et voir les motivations professionnelles les plus courantes susceptibles d'influencer votre choix.

Lors de la migration de votre base de données et de vos données vers SQL Server dans une machine virtuelle Azure, procédez comme suit dans l'ordre indiqué :

  1. Préparez votre schéma de base de données et votre fichier de données sur site à l'aide d'une application de la couche Données, d'une sauvegarde ou d'un détachement. Pour plus d'informations, consultez Préparer le schéma et les données sur site et les télécharger sur une instance de SQL Server dans une machine virtuelle ci-dessous.

  2. Éventuellement, compressez et chiffrez vos fichiers avant de les déplacer sur Azure.

  3. Déplacez votre schéma de base de données, vos données et vos fichiers journaux sur Azure. Si vous utilisez l'applet de commande Add-AzureVHD, placez d'abord vos fichiers sur un disque dur virtuel (VHD) et téléchargez ensuite le VHD sur Azure. Pour plus d'informations, consultez Migrer le fichier de schéma et de données de votre base de données vers une machine virtuelle de Azure ci-dessous.

  4. Chargez votre schéma de base de données et votre fichier de données sur SQL Server dans une machine virtuelle. Pour plus d'informations, consultez Préparer le schéma et les données sur site et les télécharger sur une instance de SQL Server dans une machine virtuelle ci-dessous.

  5. Recréez toutes les métadonnées que les outils de migration ne peuvent pas créer sur SQL Server dans une machine virtuelle de Azure.

À compter de SQL Server 2014, vous pouvez également utiliser l'Assistant Déploiement d'une base de données SQL Server sur une machine virtuelle Azure dans SQL Server Management Studio pour déployer une base de données à partir d'une instance du moteur de base de données vers SQL Server dans une machine virtuelle Azure. Pour plus d'informations, consultez Déployer une base de données SQL Server sur une machine virtuelle Azure.

Cette section explique comment préparer votre schéma de base de données et vos fichiers de données sur site. Plusieurs options sont à votre disposition, selon vos besoins :

Vous pouvez utiliser une application de la couche Données (DAC) pour préparer sur site votre schéma de base de données et vos fichiers de données qui seront migrés vers Azure :

  • Fichier .DACPAC : un fichier .dacpac inclut les définitions de tous les objets SQL Server (tels que les tables, les vues et les objets d'instance) associés à une base de données utilisateur. Le but d'un DACPAC est de capturer et de déployer le schéma de la base de données, et de mettre à niveau une base de données existante. Consultez la rubrique Extraire une DAC d'une base de données pour plus d'informations sur l'extraction d'une application de la couche Données (DAC) d'une base de données SQL Server existante.

  • Fichier .BACPAC : un fichier .bacpac inclut le schéma de la base de données ainsi que les données stockées dans la base de données. Le format BACPAC est axé sur capture du schéma et des données. Il s'agit de l'équivalent logique d'une sauvegarde de base de données et il ne peut pas être utilisé pour mettre à niveau des bases de données existantes. Pour plus d'informations sur la création d'un fichier .bacpac, consultez Exporter une application de la couche Données.

Vous pouvez exporter le schéma et les données d'une base de données vers un fichier BACPAC. Puis, vous pouvez importer le schéma et les données dans une nouvelle base de données du serveur hôte. Ces deux fonctionnalités sont prises en charge par les outils de gestion de base de données : Server Management Studio et l'API DACFx. Pour plus d'informations, consultez Importer un fichier BACPAC pour créer une nouvelle base de données utilisateur et Espace de noms Microsoft.SqlServer.Dac dans la bibliothèque MSDN.

Remarques :

  • L'opération DAC ne chiffre pas les fichiers BACPAC ou DACPAC automatiquement. Vous devez vous assurer que la communication entre les systèmes sur site et Azure est sécurisée. Vous pouvez également chiffrer le fichier bacpac ou le fichier dacfile séparément pour obtenir une protection supplémentaire lorsque le fichier est mis au repos dans un stockage Blob de Azure ou dans un stockage sur disque sur site.

  • Une DAC ne prend pas en charge les catalogues de recherche en texte intégral.

  • Pour améliorer la sécurité, les connexions d'authentification SQL Server sont stockées dans un package DAC sans mot de passe. Lorsque le package est déployé ou mis à niveau, la connexion est créée en tant que connexion désactivée avec un mot de passe généré. Pour activer les connexions, connectez-vous à l'aide d'une connexion qui possède l'autorisation ALTER ANY LOGIN et utilisez ALTER LOGIN pour activer la connexion et affecter un nouveau mot de passe pouvant être communiqué à l'utilisateur. Cela n'est pas nécessaire pour les connexions d'authentification Windows, car leurs mots de passe ne sont pas gérés par SQL Server.

Pour déplacer une base de données vers une autre instance de SQL Server ou vers un autre serveur, utilisez les opérations de sauvegarde et de restauration. Si SQL Server sur site et SQL Server dans une machine virtuelle ont la même version, vous pouvez copier un fichier de sauvegarde de base de données sur la machine virtuelle, puis restaurer la base de données. Pour plus d'informations, consultez Sauvegarde et restauration des bases de données SQL Server.

Remarques :

  • La sauvegarde et la restauration sont plus rapides que la DAC.

  • Vous pouvez créer une sauvegarde compressée de vos données. Pour plus d'informations, consultez Compression de sauvegardes.

  • Vous pouvez utiliser les outils existants et des outils familiers, comme l'Assistant Sauvegarde de SQL Server Management Studio, ainsi que des outils tiers.

  • Lorsque vous déplacez la base de données vers une autre instance de serveur, vous devez recréer toutes les métadonnées des entités et des objets dépendants dans la base de données master et la base de données msdb sur l'instance du serveur de destination. Pour plus d'informations, consultez Gérer les métadonnées lors de la mise à disposition d'une base de données sur une autre instance de serveur.

Pour déplacer une base de données vers une autre instance de SQL Server ou vers un autre serveur, utilisez les opérations de détachement et d'attachement. Copiez les données (.mdf, .ndf) et les fichiers journaux (.ldf) dans un dossier local de la machine virtuelle, puis attachez la base de données. Pour plus d'informations, consultez Déplacer une base de données à l'aide de la méthode de détachement et d'attachement.

Remarques :

  • Détacher une base de données consiste à la supprimer de l'instance de SQL Server sans toucher à ses fichiers de données et à ses journaux de transactions. Cela requiert que la base de données source soit hors connexion. Il est préférable de mettre à niveau ou de déplacer les bases de données très volumineuses.

  • Une base de données ne peut pas être détachée si l'une des conditions suivantes est vraie :

    • La base de données est répliquée et publiée.

    • Un instantané existe sur la base de données.

    • La base de données est en cours de mise en miroir dans une session de mise en miroir de bases de données.

    • La base de données est suspecte.

    • La base de données est une base de données système.

  • Il est recommandé d'effectuer une nouvelle sauvegarde complète et de redémarrer les sauvegardes différentielles avant le détachement.

  • Lors des opérations de détachement et d'attachement de base de données, vous pouvez utiliser la fonctionnalité de Compression de données pour compresser les données au sein d'une base de données et réduire sa taille. En outre, vous pouvez utiliser des outils de compression et de décompression distincts sur les fichiers détachés.

  • Lorsque vous attachez une base de données à une autre instance de serveur et si vous souhaitez offrir une expérience cohérente aux utilisateurs et aux applications, il est possible que vous deviez recréer une partie ou l'ensemble des métadonnées de la base de données, telles que les connexions et les travaux, sur cette autre instance de serveur. Pour plus d'informations, consultez Gérer les métadonnées lors de la mise à disposition d'une base de données sur une autre instance de serveur.

Vous pouvez utiliser les techniques supplémentaires suivantes pour copier ou déplacer des bases de données entre des serveurs :

  • Vous pouvez utiliser l'Assistant Copie de base de données dans SQL Server Management Studio pour copier ou déplacer des bases de données entre des serveurs ou pour mettre à niveau une base de données SQL Server vers une version ultérieure. Pour plus d'informations, consultez Utiliser l'Assistant Copie de base de données. Si vous voulez utiliser cet outil pour copier des bases de données à partir d'un environnement local vers Azure, vous devez configurer un réseau virtuel Azure pour la connectivité hybride.

  • L'Assistant Importation et Exportation de SQL Server fournit une méthode pour copier des données entre des sources de données et pour construire des packages de base. Pour plus d'informations sur l'Assistant, consultez Assistant Importation et Exportation SQL Server. La fonction de l'Assistant Importation et Exportation SQL Server est de copier des données d'une source vers une destination. L'Assistant peut également créer une base de données de destination et des tables de destination à votre intention. Toutefois, si vous devez copier plusieurs tables ou bases de données, ou autres types d'objets de bases de données, il est préférable de faire appel à l'Assistant Copie de base de données. Si vous voulez utiliser l'Assistant Importation et exportation SQL Server pour copier des bases de données à partir d'un environnement local vers Azure, vous devez configurer un réseau virtuel Azure pour la connectivité hybride.

  • Vous pouvez utiliser l'Assistant Générer et publier des scripts pour créer des scripts afin de transférer une base de données d'une instance du moteur de base de données SQL Server vers une autre. Les scripts générés peuvent être exécutés sur une autre instance du moteur de base de données. Vous pouvez également utiliser l'Assistant pour publier directement le contenu d'une base de données sur un service Web créé à l'aide des Services de publication de base de données. Vous pouvez créer des scripts pour une base de données entière ou les limiter à des objets spécifiques. Pour plus d'informations, consultez Assistant Générer et publier des scripts.

  • Vous pouvez utiliser la classe Transfer de la bibliothèque SQL Server Management Objects (SMO). Pour plus d'informations, consultez Transfert de données. SMO permet de garder en ligne les bases de données source et cible et n'exige pas le déplacement des fichiers de base de données vers/depuis le stockage Blob de Azure dans une étape distincte. L'inconvénient de SMO est qu'il utilise une connexion cliente à la base de données de chaque côté, et donc un flux de données tabulaires (TDS), ce qui est inefficace pour les jeux de données importants.

  • La Tâche de transfert de bases de données copie ou déplace une base de données SQL Server entre deux instances de SQL Server. La base de données peut être transférée à l'aide du mode en ligne ou hors connexion. Lorsque vous utilisez le mode en ligne, la base de données reste attachée et est transférée à l'aide de SMO (SQL Management Object) pour copier les objets de base de données. Lorsque vous utilisez le mode hors connexion, la base de données est détachée, les fichiers de base de données sont copiés ou déplacés, et la base de données est attachée à la destination après que le transfert se soit terminé avec succès.

Vous pouvez copier de petits fichiers (sauvegarde de base de données, fichiers BACPAC ou DACPAC) sur la machine virtuelle avec un copier/coller lors d'une connexion de Bureau à distance.

Pour transférer des fichiers volumineux, choisissez l'une des options suivantes :

  • Utilisez l'applet de commande Add-AzureVhd pour télécharger les fichiers VHD vers Azure. Un fichier VHD peut inclure une base de données. Pour plus d'informations, voir Création et téléchargement d'un disque dur virtuel qui contient le système d'exploitation Windows Server.

  • Téléchargez le fichier sur le stockage BLOB dans le même centre de données que la machine virtuelle, puis connectez-vous à distance à la machine virtuelle et téléchargez le fichier à partir du stockage BLOB. Pour plus d'informations, consultez Comprendre le stockage dans le cloud.

  • Copiez le schéma et les fichiers de données dans un dossier partagé directement dans la machine virtuelle.

  • Utilisez un navigateur Web pour télécharger une base de données de l'Internet. Par exemple, vous pouvez télécharger la base de données AdventureWorks depuis codeplex.

Le tableau suivant décrit les méthodes de transfert habituellement utilisées pour déplacer des fichiers vers une machine virtuelle Azure. Il décrit également les avantages et les inconvénients de chaque méthode.

 

Méthode de transfert Avantages Inconvénients

Copie de VHD sur le stockage d'objets blob d'Azure à l'aide de l'applet de commande Add-AzureVhd

  • Rapide, optimisé pour Azure

  • Les outils peuvent gérer les connexions non fiables

  • Transfert sécurisé

  • Microsoft fournit l'applet de commande Add-AzureVhd. Si une interface utilisateur graphique est nécessaire, vous pouvez actuellement utiliser des outils tiers.

  • Avant d'utiliser l'applet de commande Add-AzureVhd pour télécharger un VHD sur Azure, vous devez le préparer et créer et télécharger un certificat de gestion sur le portail.

  • Vous devez joindre le VHD téléchargé à une machine virtuelle Azure sous forme de disque de données.

Copie de fichier sur le partage de machine virtuelle

  • Simple à utiliser

  • Plusieurs outils clients disponibles

  • Fichier placé directement sur la machine virtuelle

  • Requiert une connexion VPN.

  • Seuls quelques outils de copie de fichier prennent en charge le redémarrage et la reprise.

Pour plus d'informations sur l'installation, la configuration et le déploiement de SQL Server dans une machine virtuelle, consultez Didacticiel : configuration d'une machine virtuelle SQL Server sur Azure. Ce didacticiel explique comment utiliser le portail de gestion Azure pour sélectionner et configurer une machine virtuelle depuis la bibliothèque. En outre, il explique comment se connecter à la machine virtuelle à l'aide du Bureau à distance et comment se connecter à SQL Server sur la machine virtuelle avec SQL Server Management Studio.

Pour obtenir des informations complètes, consultez Se préparer à migrer vers SQL Server dans les machines virtuelles Azure et Déploiement de SQL Server dans les machines virtuelles Azure.

Voir aussi

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.
Afficher:
© 2014 Microsoft