Accueil
Articles
Astuces
Vidéos
Actualités
Auteurs
A propos
Contact
S'enregistrer
|
S'identifier
S'identifier
Authentification invalide
N
om d'utilisateur
M
ot de Passe
S
e souvenir de moi la prochaine fois.
S'identifier
Annuler
S'enregistrer
Mot de passe oublié ?
Plateforme Azure : Migrer !
La plateforme AZURE va bientôt passer de sa phase de béta test à sa phase commerciale. Il est temps de songer à migrer nos applications existantes vers le Cloud.
Par
Sébastien Pertus
publié le 06/09/2009 à 22:43, lu 2397 fois, 7 pages
0 commentaire(s)
Tags:
ADO.NET
,
Windows Azure
5 | Migration de la base de données vers SQL Azure Database
1 | Introduction
2 | L’application actuelle
3 | Les pré-requis
4 | Migration de l’application Web vers un environnement simulé
5 | Migration de la base de données vers SQL Azure Database
6 | Migration de l’application sur Windows Azure
7 | Conclusion
Migration de la base de données vers SQL Azure Database
SQL Services contient plusieurs briques, orientées exploitation des données, et nous allons utiliser la principale, à savoir le moteur de base de données relationnel :
Aujourd’hui en CTP,
SQL Azure Database
offre les principaux services de base de données, en terme de stockage et de requêtage.
Il manque encore beaucoup de choses pour rendre le produit plus convivial, comme l’intégration de SQL Azure Database dans SQL Server Management Studio (SSMS), mais cette CTP se focalise surtout sur l’aspect « services rendus » et « fonctionnalités relationnelles principales ».
Pour migrer notre base de données, nous devons être sûr que les fonctionnalités utilisées dans celle-ci sont bien prises en charge par SQL Azure Database.
Un petit tour par la documentation MSDN en ligne (en CTP elle aussi) pour vérifier ces quelques points :
http://msdn.microsoft.com/en-us/library/ee336279.aspx
La migration de la base de données va se faire en plusieurs étapes :
Création de la base de données sur SQL Azure
Génération du script de création des tables, procédures stockées, vues.
Nettoyage du script : Options non prises en compte dans SQL Azure, transformation des types non gérés (les types obsolètes ne sont pas pris en charge par SQL Azure)
Création des tables sur SQL Azure
Création d’un lot SSIS d’import des données
Importation des données dans SQL Azure
Créer la base de données
Tout se passe directement depuis l’interface SQL Azure.
Création de la base de données, et récupération de la chaine de connexion :
Je vous conseille l’excellent blog
de Patrick Guimonet
qui vous explique en détail et pas à pas
comment créer votre base de données sur SQL Azure
Se connecter à SQL Azure depuis SSMS
Bien que celui-ci n’est pas encore été mis à jour pour se connecter sur AZURE, il est tout de même possible d’utiliser SSMS pour travailler directement sur votre base de donnée SQL AZURE.
Pour vous connecter, je vous conseille, encore une fois, de suivre les indications de Patrick Guimonet, qui
nous explique dans son blog comment procéder
.
Génération du script de création de la base de données
Il est, pour le moment, impossible de directement restaurer un backup d’une base de données locale, sur SQL Azure. De ce fait, nous allons passer par la génération d’un script SQL.
Nous utilisons une fonctionnalité présente dans SQL Management Studio : La génération de scripts.
Au niveau des options de scripts, on notera surtout de bien veiller à ne
PAS scripter le Use Database
, non pris en charge dans SQL Azure.
Le script généré contient de nombreuses options, comme les paramètres par défaut, les types marqués obsolète etc .. qui ne sont pas pris en charge par SQL Azure. Nous devons donc, avant de créer les tables, épurer le script pour le rendre totalement « compatible SQL Azure »
Il existe de nombreuses façons d’arriver à ce résultat :
La bonne vieille méthode « j’enlève, je modifie et je teste »
Un projet Codeplex de migration (non testé) :
http://sqlazuremw.codeplex.com/
Un tour sur les forums MSDN SQL Azure où vous trouverez notamment
une liste non exhaustive des fonctionnalités T SQL non pris
es en charge ou encore un script Powershell de nettoyage
Une fois épuré, vous pouvez tester votre script directement sur SQL Azure :
Et donc, une fois testé et validé, il ne reste plus qu’à exécuter ce script sur votre base de données « In The Cloud » !
Exportation des données avec SSIS
Vous pouvez utiliser SSIS pour migrer vos données locales vers SQL Azure.
Pour cela, lors de la réalisation de la migration, j’ai été confronté à plusieurs problèmes, pour lesquelles il existe des contournements. Notez, entre autre, que:
Tout d’abord en Design, SSIS a du mal à se connecter à AZURE. La chaine de connexion a l’air de ne pas trop lui plaire. Je suis donc passé, lors de la phase de développement des lots, par une instance SQL EXPRESS et une base de données de test (base de donnée que j’ai créée à l’aide du script précédemment généré)
Ensuite, SQL Azure ne supporte pas les connexions (du moins avec SSIS) autre que ADO.NET SqlProvider. Exit donc les connections OleDb, préconisées généralement avec SSIS.
Une fois ces quelques écueils résolus, le développement des lots SSIS reste classique.
Lors de l’exécution des lots, il suffit de changer la chaine de connexion de l’instance locale vers l’instance SQL Azure :
L’exécution du lot terminé, notre base de données est prête !
1
2
3
4
5
6
7
»
Démarrer une discussion
Ecrire un commentaire
Titre
Commentaire
Annuler