Cet article s'applique pour des bases de données Microsoft SQL Server (Express ou non). Dans certains cas, il peut être requis de transférer une base de donnée de SQL Server 2014 à SQL Server 2008 (par exemple). Dans ce cas, l'utilitaire d'import de base de version inférieure peut bloquer l'import, pour raison de compatibilité.
Cette méthode a pour but d'exporter les données dans un fichier .sql
et l'importer dans un autre SGBD MSSQLSERVER.
Lors de l'import sur le SGBD de version inférieure, il faut bien tester le comportement de votre application exploitant la base. Certaines spécificités ne peuvent êtres transférées et des incompatibilités peuvent survenir. Faites des sauvegardes avant de procéder !
SGBD Source | MSSQL SERVER Express 2014 |
SGBD Arrivée | MSSQL SERVER 2008 R2 |
Lancer Sql Management Studio, se connecter avec un utilisateur ayant les droits sur la base à exporter.
Tâches → Générer des scripts
Suivant
. Choisissez la base à exporter et cliquez sur Suivant
.Générer un script pour la version du serveur
, et choisissez dans la boite déroulante la version d'arrivée (ici 2008 R2). Si la ligne Type de données à générer
existe, choisir Schéma et données
(disponible selon version du SGBD).Générer un script pour les clés étrangères
et Générer un script pour les index
à Vrai
(True). Cliquer sur Suivant
.Suivant
, un écran sera proposé pour chaque type d'objet, afin de faire une sélection fine. Sélectionnez tout.Générer un script sur fichier
. Laisser les options en Fichier unique
et Unicode
. Choisir où enregistrer ce fichier, et cliquer sur Suivant
.Terminer
. L'export débute vers le fichier.Pour importer la base, elle doit d'abord être créée vide, avec un utilisateur ayant les droits dessus.
Le fichier généré lors de l'export est probablement trop gros pour être ouvert avec SQL Management Studio. Il faut donc faire l'import en ligne de commande.
Utilisez la commande suivante :
sqlcmd -S localhost -U Utilisateur -P MotDePasse -d MaBase -i monfichier.sql -a 32767
Le paramètre -a
permet de définir la taille des paquets d'import. Selon la taille de la base, l'import peut être très long. Allez chercher un café.