Aujourd’hui, on tente de migrer des données d’une base SQL On-Premises. j’utilise l’outil SQL Server Import and Export Data provenant de SQL Server 2008 R2 November CTP. Pour cela je m’appuie sur la base de démo AdventureNetworks. Je vais tenter d’exporter la table Customer uniquement.
J’ai au préalable créé une table nommée “Azure” avec un utilisateur ayant le rôle db_owner.
Lancez l’outil SQL Server Import and Export Data : Menu Démarrer > Microsoft SQL Server 2008 R2 November CTP > Import and Export Data
Appuyez sur Next.

Ici on va sélectionner la base de données SOURCE, donc AdventureWorksLT2008R2 :
Le serveur destination doit utiliser .Net Framework Data Provider for SqlServer. Il faut renseigner quelques champs
Data Source : l’adresse de votre serveur SQL Azure du type <servername>.database.windows.net
Encrypt : True
Initial Catalog: la base de données qui recevra les données à exporter
Password: le mot de passe de l’utilisateur ayant les droits sur la base
User ID: le login de l’utilisateur ayant les droits sur la base.
ATTENTION : pour certaines raisons que j’ignore encore, la connexion peut être rejetée avec l’erreur suivante :
Si c’est votre cas, modifiez le User ID par : <login>@<servername>
On valide.
Je choisis de n’exporter que la table Customer :
J’ai quelques Warning qui s’affichent mais rien de bien inquiétant…
Voici un récapitulatif de l’exportation qui va être effectuée, en source j’ai bien mon instance SQL en local et en destination je pointe vers une instance SQL Azure :
Je me lance…. Et bien NON! Une erreur est survenue
A priori, SQL Azure ne supporte que des table ayant un Clustered Index!
Bon on n’abandonne pas si proche de la réussite. La table a bien été créée (vérifiez dans le SQL Management Studio), je décide de la supprimer pour repartir de zéro. Ensuite au niveau du wizard, on retourne à la page Select Source Tables and Views, cliquez sur Edit Mappings…

On va modifier le script SQL généré pour la création de la table, cliquez sur Edit SQL :

Et là, excusez moi, mais on va faire un truc pas très catholique, on va créer un index sur la table à la suite du script de création de la table :
Validez et relancez le processus :
Mes 847 lignes ont bien été transférées, la preuve :
Ronny
Member of WygTeam
www.wygwam.com