2010-03-10 3 views

Répondre

2

vous pouvez essayer quelque chose comme ça,

tout d'abord la création d'une nouvelle procédure de magasin dans votre serveur SQL, comme celui-ci.

CREATE PROCEDURE ListObjectsToFile 
AS 
BEGIN 
select * from sysobjects; 
END 
GO 

Et puis l'appeler à partir de la ligne de commande, ce qui indique la chaîne de connexion complète et le chemin/nom du fichier de sortie

C: \> sqlcmd -S YourServer \ yourSQLServerInstance -U youruser -P yourUserPassword -q ListObjectsToFile -o C: \ list.txt

espoir qui aide,

Santi! :)

+0

Salut, merci pour la réponse! Pardonnez la question noobish, mais quel serait le meilleur moyen d'automatiser l'appel à la ligne de commande? Fichier batch? Merci. – DonnMt

+0

De même, yourSQLServerInstance est-il mon nom de base de données? Merci! – DonnMt

+0

Non, l'instance SQL Server est "facultative" et n'est requise que si vous avez installé SQL Server deux fois ou plus sur la même machine. Ce faisant, vous devez donner un nom à la seconde et aux autres instances que vous installez. Donc, si SQL Server n'est installé qu'une seule fois, oubliez la partie "\ yourSQLServerInstance" – MaxiWheat

2

Je sais que votre question dit que vous voulez une procédure stockée pour faire le travail, mais si vous voulez d'autres solutions, j'utiliserais SMO dans VB.NET. Lors de l'accès aux objets de base de données avec les objets .NET, ils ont tous une fonction "Script()" qui retourne le SQL à utiliser pour recréer l'objet. A table for instance.

Espérons que cela pourrait aider

+0

+1, je n'ai pas encore vu une approche tsql pour écrire un script de table exécutable complet, qui inclut tous les éléments de définition de table possibles: PK, FK, index, valeurs par défaut, contrainte de vérification, colonnes calculées, etc. –

0

Essayez DBSourceTools. (http://dbsourcetools.codeplex.com)
Son code source ouvert, et spécialement conçu pour scripter une base de données entière
- tables, vues, procs et données sur le disque, puis recréez cette base de données via une cible de déploiement.

Questions connexes