santiago silver - Fotolia

Comment migrer SQL Server vers Azure SQL Database

Les problèmes de compatibilité d’Azure SQL Database ont disparu avec la V12, facilitant la migration d’une base SQL vers le Cloud. Cet article explique justement comment s’y prendre.

Il existe certes encore certaines réticences à placer ses bases de données, généralement gourmande en ressources et très sensible à la latence, sur des plateformes Cloud comme Microsoft Azure SQL Database. Toutefois cela peut être parfois très pertinent, pour certaines applications.

Microsoft Azure SQL Database est en fait un service de base de données bâti sur SQL Server et placé sur le Cloud Azure.

Azure SQL Database arrive à maturité

Jusqu’à présent, le service de base de données a souffert de limites de compatibilité, constituant en fait un réel frein à son déploiement. Mais, depuis juin 2016, les nouvelles bases créées sur Azure SQL Database V12 ont un niveau de compatibilité qui démarre à 130, se hissant au même rang que SQL Azure, explique Microsoft dans un billet de blog.

Azure permet de redimensionner dynamiquement les bases et d’en améliorer la scalabilité. De plus, Azure SQL Database propose des fonctions automatisées d’administration et de protection des données. Avec ce service, l’éditeur de Redmond  supporte l’infrastructure, les mises à jour ainsi que les sauvegardes automatiques et la récupération en cas de panne.

Passer de SQL Server à Azure SQL Database

Si vous souhaitez donc migrer vos bases de données SQL Server vers la plateforme de Microsoft, l’opération nécessite de créer d’abord une base de données Azure SQL via le portail Azure puis de tester si votre base est bien compatible avec Azure SQL Database. Il est indispensable de résoudre ces problèmes de compatibilité avec la migration.

Il existe plusieurs façons de tester cette compatibilité. La plus simple est d’utiliser la fonction Expert Data-tier Application dans SQL Server Management Studio (SSMS). Il suffit de lancer SSMS et de vous rendre jusqu’à votre base de données source avec Object Explorer. Puis, cliquez droit sur celle-ci et sélectionnez Tasks depuis le menu. Sélectionnez enfin Expert Data- tier application, comme le montre l’illustration ci-dessous.

 Tester la compatibilité d’ Azure SQL Database
Figure 1. Tester la compatibilité d’Azure SQL Database avec l’assistant d’ Export Data-tier Application

Cela lance l’assistant d’ Export Data-tier Application. Cliquez sur Next dans le premier menu pour afficher les paramètres d’export. Vous avez le choix entre sauvegarder le fichier BACPAC sur un disque dur en local ou sur Azure. Pour vérifier la compatibilité, il vaut mieux sélectionner l’option sur disque. Puisqu’il s’agit ici d’un test de compatibilité, vous n’avez pas à exporter les données. Pour cela, cliquez sur l’onglet Advanced puis décocher toutes les cases, comme le montre l’illustration ci- dessous.

L’assistant Export Data-tier Application
Figure 2. Validez la base avec l’Export Data-tier Application Wizard

Cliquez ensuite sur Next, puis sur Finish dans la boîte de dialogue Summary. L’assistant effectue ensuite une série de tests de compatibilité. Une croix rouge apparait pour indiquer si une erreur doit être corrigée avant la migration. Si vous souhaitez en savoir plus sur cette erreur, cliquez sur le lien dans la colonne Results. Si aucune erreur n’apparait, tous les tests sont cochés en vert (comme le montre la Figure 3). Cela indique qu’il n’y a pas de problèmes de compatibilité et que vous pouvez avancer dans votre processus de migration.

 Les tests de compatibilité ont réussi
Figure 3. Les tests de compatibilité ont réussi

Cliquez ensuite sur le bouton Close pour sortir de l’assistant et passer à la phase de migration.

Migrer les bases de données avec SQL Server Migration Wizard

Il existe plusieurs méthodes pour migrer votre base sur site vers Azure SQL Database. La méthode la plus directe consiste à utiliser l’assistant Deploy Database to Microsoft Azure SQL Database depuis SSMS. Celui-ci migre directement une base SQL Server compatible vers Azure SQL Database.

Pour commencer, ouvrez SSMS et utilisez Object Explorer pour sélectionner la base que vous souhaitez migrer. Puis, cliquez droit sur la base de données et sélectionnez Tasks. Cliquez ensuite sur Deploy Database to Microsoft Azure SQL Database (Figure 4).

Déployez la base
Figure 4. Utilisez l’assistant Deploy Database to Microsoft Azure SQL Database

Cela lance l’assistant Deploy Database to Microsoft Azure SQL Database. Cliquez jusqu’à l’écran d’introduction pour afficher les paramètres de déploiement. Le nom de la base s’affiche (New Database) et le nom du fichier temporaire spécifie le répertoire local et le fichier à utiliser pour le fichier temporaire BACPAC. En cliquant sur le bouton Connect, vous affichez Connect to Server (Figure 5).

Connect to Server
Figure 5. Connect to Server

Pour se connecter, vous devez d’abord connaître le nom du serveur et ses identifiants. Si la base est utilisée pour la première fois, les identifiants sont identiques à ce que vous avez saisi lors de la création d’Azure SQL Database.

Pour trouver le nom du serveur, rendez-vous sur le portail Azure, identifiez-vous et cliquez sur l’écran dédié à SQL Databse pour afficher vos déploiements en cours (Figure 6).

 Identifiez le nom de votre base avec le portail Azure
Figure 6. Identifiez le nom de votre base avec le portail Azure

Cliquez sur le lien Overview pour afficher le nom de la connexion serveur. Cliquez sur le lien nom du serveur, vous pouvez le copier dans le presse-papier et le coller dans la boîte de dialogue Connect to Server.

Avant de se connecter au serveur depuis votre client, il est probable que vous deviez paramétrer les règles d’un parefeu pour Azure SQL Database. Le parefeu crée des exceptions pour une ou plusieurs adresses IP, et  leur ouvrent des accès au serveur Azure SQL Database. Après cela, complétez la boîte de dialogue Deployment Settings avec vos paramètres Azure SQL Database (Figure 7).

 Les paramètres une fois complétés
Figure 7. Les paramètres une fois complétés

Cliquez sur Next pour afficher la boîte de dialogue Summary, puis sur Finish pour commencer le processus de migration. La migration demandera du temps, en fonction de la taille de la base de données et du niveau d’activité de votre système. La figure 8 affiche l’opération finalisée.

 La migration vers Azure SQL Database
Figure 8. La migration vers Azure SQL Database

L’après-migration

Une fois la migration finalisée, vous pouvez gérer Azure SQL Database avec les outils standards de SQL Server, comme SSMS. Dans la Figure 9, SSMS 2016 administre une base Azure déjà migrée. Pour se connecter à une instance Azure SQL Database à partir de SSMS, utilisez les mêmes informations que lors de la précédente connexion (voir Figure 9).

 Gérer Azure SQL Database avec SSMS
Figure 9. Gérer Azure SQL Database avec SSMS

Pour approfondir sur Applications et services