Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
ACCUEIL SQL-SERVER FORUM SQL-SERVER F.A.Q  SQL-SERVER TUTORIELS SQL-SERVER SOURCES SQL-SERVER LIVRES SQL-SERVER

Copie et génération des scripts d'une base de données Microsoft SQL Server

Date de publication : 4.7.2008

Par Poulain
 

Ce tutoriel va vous expliquer comment créer le script de votre base de données, pour en faire une copie exact.

I. Présentation
II. Création du script du contenu de votre base de données
III. Création d'un script de création de votre base de données
IV. Création du script final
V. Conclusion


I. Présentation

Le principe de ce tutoriel est de permettre la copie d'une base de données et de son contenu, par l'intermédiaire d'un script SQL, ce qui vous permettra de balader votre base de données partout avec vous et de pouvoir l'intégrer à un serveur facilement.

Cette méthodologie est tirée de la phase de matérialisation d'une base de données MS-SQL lors d'une mise en réplication.

La création du script d'une base de données, est gérée par des produits payant, mais nous pouvons faire la même chose avec des produits gratuits.
Pour cela, nous aurons besoin des outils:

  • Microsoft SQL Server Express
  • SQL Server Management Studio Express (SSMSE)
  • Microsoft SQL Server Database Publishing Wizard (MSSDPW)

II. Création du script du contenu de votre base de données

Le script de contenu correspond à tout ce que contient votre base de données, tous les enregistrements.
Nous allons le créer avec MSSDPW.

Pour commencer, lancez MSSDPW, cliquez sur Next.




Là, vous devez entrer le nom de votre serveur. Par défaut le nom est "localhost", laissez comme ceci si vous avez une instance pas défaut, sinon, vous tapez : "localhost\nomdelinstance"


Sélectionnez le mode d'identification que vous utilisez, et entrez les données requises si besoin.




Cliquez sur "Next".

Là vous avez la page de sélection de la base de données, Sélectionnez la votre.




Cliquez sur "Next".

La page de sortie du script s'affiche, Sélectionnez la sortie fichier, sélectionnez le chemin de sortie, mettez comme nom celui de votre fichier final.




Et là, très important, mettez "Supprimez les objets existants du script" à False. Laissez le reste par défaut.




Cliquez sur "Next", vérifiez les options.




Cliquez sur "Finish".


III. Création d'un script de création de votre base de données

Pour l'instant, nous avons le script de la base de données et son contenu, mais pas le script de création de la base.
Nous allons donc le créer grâce à SSMSE.

Pour commencer, ouvrez SSMSE, une page de connexion s'ouvre, connectez vous au serveur.




Une foi connecté, il faut dérouler "Database", puis clique droit sur votre base de données.


Là, vous faites "Tasks" et cliquez sur "Generate script...".




Là, une fenêtre s'ouvre, avec un message de bienvenue, cliquez sur "Next".




Sélectionnez votre base de données et cochez la case "Script all objects in the selected base" et cliquez sur "Next"




Dans cette nouvelle fenêtre, mettez tout à False, sauf: "include if NOT EXIST" que vous mettez à True, "Script Database Create" que vous mettez à True et "Script Owner" que vous mettez à True




Cliquez sur "Next"

Là, vous arrivez sur une page de choix de la destination de sortie du script.
Je vous conseil de choisir "Script to file", de choisir le même chemin de sortie que pour le script du contenu de la base de données, laissez en Unicode, appelez-le "bddcreate.sql".




Cliquez sur "Finish>>|" ou "Next", vérifiez que vos choix sont bons, et cliquez sur "Finish"
Le programme crée le script.


IV. Création du script final

Pour l'instant, nous avons deux scripts, un pour la création du contenu de la base, l'autre pour la création de la base de données.
Pour réunir les deux, la manipulation est très simple.
Ouvrez "bddcreate.sql" puis sélectionnez le code de "Use [Master]" à "Use [nomdevotrebdd]"
Copier le tout avec un simple ctrl+C


Ouvrez le premier script, celui qui porte le nom final et copiez au tout début le script.



Enregistrez le tout, votre script est prêt!

infoLors de la copie du code SQL du premier script vers le second, vous remarquerez la présence du chemin de création du fichier de la base de données et de son journal.
Pensez à les modifier pour créer votre base de données où bon vous semble.
warningLe script est un fichier texte, il contiendra donc toutes les données en clair, de plus si la base est volumineuse, le script SQL le sera aussi.

V. Conclusion

La création d'un script SQL vous permettant de copier votre base de données dans un nouveau serveur tout en gardant les données qui s'y trouvent n'est pas une tâche compliquée et peut être très utile lors du déploiement d'application ayant besoin d'une base de données nécessitant la présence de quelques données dès le départ.

Dans le cas plus rare mais au combien ennuyeux d'un downgrade de version (passer d'un SQL Server 2008 à un SQL server 2000, par exemple), toute copie via backup/restore ou détachage/rattachage s'avérera vaine: seule cette méthode pourra alors vous sauver la mise.



Valid XHTML 1.1!Valid CSS!

Les sources présentées sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © Poulain. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Droits de diffusion permanents accordés à developpez LLC. Cette page est déposée à la SACD.

Responsable bénévole de la rubrique SQL-Server : Fabien Celaia (fadace) - Contacter par EMail :
Vos questions techniques : forum d'entraide SQL-Server - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.