Ceci est une ancienne révision du document !
Table des matières
Downgrade d'une base MSSQLSERVER
Information
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 !
Détails
SGBD Source | MSSQL SERVER Express 2014 |
SGBD Arrivée | MSSQL SERVER 2008 R2 |
Export
Lancer Sql Management Studio, se connecter avec un utilisateur ayant les droits sur la base à exporter.
- Clic droit sur la base à exporter, choisir dans le menu
Tâches → Générer des scripts
- Cliquer sur
Suivant
. Choisissez la base à exporter et cliquez surSuivant
.
- Un ensemble de paramètres est maintenant disponible. Chercher la ligne
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 ligneType de données à générer
existe, choisirSchéma et données
(disponible selon version du SGBD).
- Dans ce même menu, passer
Générer un script pour les clés étrangères
etGénérer un script pour les index
àVrai
(True). Cliquer surSuivant
.
- A ce nouvel écran, choisir d'exporter les procédures stockées, tables et utilisateurs (cocher les cases). En cliquant sur
Suivant
, un écran sera proposé pour chaque type d'objet, afin de faire une sélection fine. Sélectionnez tout.
- Au dernier écran, choisir
Générer un script sur fichier
. Laisser les options enFichier unique
etUnicode
. Choisir où enregistrer ce fichier, et cliquer surSuivant
.
- Un récaputilatif est affiché. Si tout est correct, cluquer sur
Terminer
. L'export début vers le fichier.
Import
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 -d MaBase -i monfichier.sql -a 32767
Un nom d'utilisateur et mot de passe peut être demandé. 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é.