对于为使用Microsoft SQL Server的应用程序生成设置的自动安装版本,我目前正在评估是否可以执行以下操作:
我希望以编程方式(CMD脚本或C#代码)在可从Microsoft SQL Server Management Studio 2008访问的数据库上执行函数“Generate Scripts”。
即。调用一些代码并将指定数据库的所有对象(表,SP,约束等)作为SQL脚本。
目前,我只需要结构,而不是数据。
问题:是否有可能实现这一目标?
答案 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