以编程方式为数据库中的所有对象生成脚本

时间:2009-11-08 08:12:30

标签: c# sql sql-server scripting

对于为使用Microsoft SQL Server的应用程序生成设置的自动安装版本,我目前正在评估是否可以执行以下操作:

我希望以编程方式(CMD脚本或C#代码)在可从Microsoft SQL Server Management Studio 2008访问的数据库上执行函数“Generate Scripts”。

即。调用一些代码并将指定数据库的所有对象(表,SP,约束等)作为SQL脚本。

目前,我只需要结构,而不是数据。

问题:是否有可能实现这一目标?

5 个答案:

答案 0 :(得分:5)

我写了SMOscript,一个命令行工具,用于将所有对象编写为单个文件,或者为所有对象编写一个文件。

MSSQL的Generate Scripts函数通常不考虑引用和依赖关系来确定对象的顺序(至少在2000和2005的情况下是这样)

答案 1 :(得分:3)

我使用http://www.codeplex.com/ScriptDB取得了巨大的成功。

答案 2 :(得分:2)

您应该可以使用SMO

在托管代码中执行此操作

答案 3 :(得分:1)

您可以在the sysobjects view上调用标准select子句(例如使用ADO.NET)。

答案 4 :(得分:1)

微软还发布了一个名为'mssql-scripter'的工具。可在此处找到:mssql-scripter