2010-03-10 61 views

回答

2

,你可以尝试这样的事情,

首先在SQL服务器上创建一个新的存储过程的,是这样的。

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

然后从命令行调用它,说明你的完整的连接字符串和输出文件的路径/名称

C:\>的sqlcmd -S yourServer \ yourSQLServerInstance -U yourUser -P yourUserPassword -q ListObjectsToFile -o C:\ LIST.TXT

希望帮助,

桑蒂! :)

+0

嘿,谢谢你的回复!原谅这个无关紧要的问题,但是什么是自动调用命令行的最佳方式?批处理文件?谢谢。 – DonnMt 2010-03-11 00:31:02

+0

另外,yourSQLServerInstance是我的数据库名称吗?谢谢! – DonnMt 2010-03-11 00:36:49

+0

不,SQL Server实例是“可选的”,并且只有在同一台计算机上安装了两次或多次SQL Server时才需要。这样做时,您必须为您安装的第二个和其他实例命名。因此,如果SQL Server只安装一次,请忘记“\ yourSQLServerInstance”部分 – MaxiWheat 2010-03-11 03:16:51

2

我知道你的问题说你想要一个存储过程来完成这项工作,但是如果你想要其他解决方案,我会在VB.NET中使用SMO。当使用.NET对象访问数据库对象时,它们都有一个“Script()”函数,它返回用于重新创建对象的SQL。 A table for instance

希望这可能有帮助

+0

+1,我还没有看到tsql的方法来编写一个完整的可运行表格脚本,其中包括所有可能的表定义项目:PK,FK,索引,默认值,检查约束,计算列等。 – 2010-03-11 13:19:48

0

尝试DBSourceTools。 (http://dbsourcetools.codeplex.com
其开放源代码,专门设计用于将整个数据库的表格,视图,过程和数据编写到磁盘,然后通过部署目标重新创建该数据库。

相关问题