2009-11-24 14 views
5

J'ai besoin d'exporter la base de données de SQL Server 2005 vers des scripts SQL (comme nous pouvons facilement le faire en MySQL). Donc, je veux obtenir le fichier généré avec des scripts comme celui-ciComment puis-je exporter des données à partir de SQL Server?

INSERT INTO ... [row 1] 
INSERT INTO ... [row 2] 
INSERT INTO ... [row 3] 
... 

Quelqu'un peut-il expliquer comment puis-je faire cette étape par étape?

Répondre

6

En fait, l'un des moyens les plus faciles d'exporter des données à partir d'une base de données MSSQL 2005 est d'utiliser le SQL Server Database Publishing Toolkit qui est décrit en longueur sur le blog de Scott Guthrie. En outre, la boîte à outils SQL Database Publishing a été dérivée à partir des outils déjà intégrés à SQL 2005. L'article Create Script to Copy Database Schema and All The Objects – Stored Procedure, Functions, Triggers, Tables, Views, Constraints and All Other Database Objects vous guide à travers les différentes étapes de script les éléments qui composent une base de données.

Un autre outil dérivé des outils SQL 2005 est le Database Publishing Wizard qui est un outil de ligne de commande qui extrait tous les éléments d'une base de données.

Un dernier lien à lire raconte comment Use the Database Publishing Wizard to script your table data.

Bonne chance et j'espère que cela vous aidera.

+0

Bon utilitaire, bien sûr, mais il doit être installé séparément et nécessite Visual Studio ou Visual Web Developer. En fait, je dois prendre la base de données de certaines organisations pour lesquelles je développe. L'installation d'un nouveau logiciel est assez difficile à cause de certaines raisons. Donc, je préférerais certains outils qui viennent avec MS SQL Server 2005 ou des outils qui ne nécessitent pas d'installation. – levanovd

+0

En plus de ma précédente: J'ai oublié que les outils SQL Management Studio sont également disponibles car ils l'ont déjà installé. – levanovd

+0

Liens supplémentaires à ajouter aux outils Management Studio et aux outils de ligne de commande. – Chris

0

Si vous avez besoin de prendre une base de données entière, y compris des schémas, des objets et des données, je trouve que la façon la plus simple est de créer une sauvegarde complète, puis de la restaurer ailleurs. SQL Server Management Studio inclut de nombreuses options différentes pour générer des sauvegardes, y compris des options pour inclure les utilisateurs et pour scripter les autorisations de niveau objet, etc. Des instructions détaillées pour creating a backup et restoring from a backup de SQL Server Management Studi sont disponibles sur MSDN.

Si vous souhaitez simplement insérer des instructions d'insertion de script pour copier les données ailleurs, j'ai rencontré un certain succès avec stored procedure. Il y a des instructions détaillées dans les commentaires en haut de ce script (faites défiler la NOTE vers les exemples). Fondamentalement, une fois que vous avez exécuté la procédure stockée une fois, vous pouvez appeler le proc à l'aide d'une commande comme:

EXEC sp_generate_inserts 'tableName' 
0

Essayez cette

SELECT 'EXEC sp_generate_inserts ' + 
'[' + name + ']' + 
',@owner = ' + 
'[' + RTRIM(USER_NAME(uid)) + '],' + 
'@ommit_images = 1, @disable_constraints = 1' 
FROM sysobjects 
WHERE type = 'U' AND 
OBJECTPROPERTY(id,'ismsshipped') = 0 

Obtenu à partir My code library. Il suffit d'aller un peu plus bas dans la page et vous trouverez

Hope this helps

0

SQL Server Management Studio ne possède pas cette fonctionnalité. Vous avez besoin d'un outil tiers.

Par exemple. RedGate ou SQLDumper.

Ou vous pouvez écrire le vôtre.

0

Je me suis occupé de cela il ya un moment en écrivant un script (VBScript) pour le faire. Gère la plupart des types de données, y compris les blobs.

Obtenez-le from my site.

HTH.

0

Cette fonctionnalité n'existe pas dans SQL 2005. Cependant, elle a été ajoutée dans SQL 2008, donc une solution consiste à mettre à niveau. Vous pouvez utiliser le SQL Express gratuit ou le développeur SQL à faible coût, s'ils répondent à vos besoins.

Sinon, vous devez écrire un programme pour le faire ou utiliser une solution tierce.

Questions connexes