148 votes

Comment vider une base de données Microsoft SQL Server vers un script SQL ?

Existe-t-il un moyen d'exporter une base de données Microsoft SQL Server vers un script sql ?

Je cherche quelque chose qui se comporte de manière similaire à mysqldump, en prenant un nom de base de données, et en produisant un seul script qui recréera toutes les tables, les procédures stockées, réinsérer toutes les données, etc.

J'ai vu http://vyaskn.tripod.com/code.htm#inserts mais je veux idéalement quelque chose qui recrée tout (pas seulement les données) et qui fonctionne en une seule étape pour produire le script final.

0 votes

@Matt Oui, il n'exporte pas les données. C'est pourquoi j'ai mentionné que vous devriez la combiner avec le script que vous avez suggéré. Cette méthode construit bien un script dans le bon ordre cependant.

0 votes

En fait, dans Mangement Studio 2008, il suffit d'activer l'option "exporter des données", et le script contiendra à la fois des instructions de schéma et d'insertion.

138voto

Bara Points 411

Dans SQL Server Management Studio, faites un clic droit sur votre base de données et sélectionnez Tâches / Générer des scripts. Suivez l'assistant et vous obtiendrez un scripts qui recrée la structure de données dans le bon ordre selon les clés étrangères. A l'étape de l'assistant intitulée "Set Scripting Options", choisissez "Advanced" et modifiez l'option "Types of data to scripts" en "Schema and data".

ASTUCE : Dans la dernière étape, sélectionnez "script vers une nouvelle fenêtre de requête", cela ira beaucoup plus vite de cette façon.

23 votes

N'oubliez pas d'aller dans les options avancées et dites-lui de script non seulement le schéma, mais aussi les données.

3 votes

@romkyns mérite tous les votes positifs ! "Types of data to script" est le nom exact de l'option. Vous voudrez sélectionner "Schéma et données".

2 votes

Le principal problème avec les scripts générés depuis SSMS est qu'ils ne sont pas ordonnés correctement pour prendre en compte les dépendances. Ce n'est pas un problème pour les petites bases de données où vous pouvez le faire manuellement mais c'est définitivement un problème lorsque la base de données obtient plus de 50 objets. Jusqu'à présent, nous avons utilisé avec succès ApexSQL script pour ça. Il s'agit d'un outil premium mais vous pouvez l'utiliser en mode d'essai pour faire le travail. Je pense que Porte Rouge dispose également d'un outil similaire.

34voto

Rob Allen Points 551

Essayez Assistant de publication de bases de données Sql Server . Vous devrez peut-être réorganiser le script pour qu'il soit exécuté en une seule fois cependant à cause des dépendances mais il inclura votre schéma et vos données.

Si vous n'avez pas installé les objets SQL XMO 2005, vous obtiendrez une erreur lorsque vous exécuterez le magicien . Vous aurez besoin de la collection Microsoft SQL Server 2005 Management Objects.

5 votes

En fait, vous n'avez pas besoin de réorganiser le script, car il supprime toutes les contraintes, crée le schéma, insère les données et, enfin, recrée les contraintes.

0 votes

Génial, c'est plutôt chouette.

0 votes

Il s'agit d'un excellent outil, mais il ne prend en charge que SQL Server 2015. Et les versions 2008 et ultérieures ?

12voto

Havok Points 51

見つけた Dumper SQL assez utile. Il est gratuit, vous pouvez donc l'essayer. Il vous permet de choisir les tables et les colonnes de la base de données, les vues et même les résultats de requêtes personnalisées en tant qu'instructions d'insertion SQL.

0 votes

La dernière version stable ne fonctionne pas avec les procédures stockées.

1 votes

La dernière version peut être téléchargée sur download.cnet.com/SQL-Dumper/3000-10254_4-10514574.html

8voto

Daniel Points 171

Ne trouvant pas le bon outil, j'ai décidé de créer le mien : un utilitaire de ligne de commande sqlserverdump. Jetez-y un coup d'oeil sur http://sqlserverdump.codeplex.com/ . Il recrée le schéma et les données en une seule étape.

0 votes

A

1 votes

@

6voto

Essayez DBSourceTools . Il est conçu pour script hors d'une base de données source, et redéployer vers une base de données cible. Il script le schéma et les données.

0 votes

Il n'est plus disponible. Avez-vous peut-être une copie que vous pouvez héberger sur GitHub ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X