我需要在SQL Server 2005中填充一个表,其中包含特定数据库中的一些对象(存储过程,表,视图和函数等)
在表中我想要每个对象一行,表列将是对象的名称,对象的脚本,模式和对象类型。
我尝试使用下面的脚本,但这不会返回表的脚本。 有没有办法用脚本返回所有对象?
select a.name, *
from
Enterprise..sysobjects a
inner join Enterprise..syscomments b on a.id=b.id
where
a.xtype in ('FN','IF','P','TF','TR','U','V','X')
答案 0 :(得分:1)
脚本表很难,请看这里:In MSSQL, how do I generate a CREATE TABLE statement for a given table?
您最好的选择是制作使用SMO生成脚本的CLR,请参阅:Scripting Database Objects using SMO
如果您只想跟踪数据库更改,可能需要DDL触发器来记录更改,请参阅:Using DDL Triggers to Manage SQL Server 2005
答案 1 :(得分:0)
如果您想要一个跟踪其他数据库中的更改的数据库(以及Web应用程序),dbscript可能有所帮助。 (免责声明:我写了;))