Alan B Asked: 2011-12-17 07:12:25 +0800 CST2011-12-17 07:12:25 +0800 CST 2011-12-17 07:12:25 +0800 CST SQL Server 2008 R2 Express Edition - 生成数据库创建脚本 772 我需要编写一个数据库模式脚本到 T-SQL 以包含源代码控制。SSMS 的 Express 版本似乎不允许您编写整个数据库的脚本,只能编写单个表。是否有可以执行此操作的免费工具(脚本或其他工具)? sql-server-2008 schema 3 个回答 Voted Best Answer ConcernedOfTunbridgeWells 2011-12-21T08:37:23+08:002011-12-21T08:37:23+08:00 这个 SQL 脚本是我编写的 SQL Server 2005 表脚本工具,用于将数据库模式反向工程为 SQL。它可能会做你想做的事。将其加载到 SSMS 中并从菜单中设置“结果为文本”。然后运行脚本。它将对大多数主要数据库对象进行逆向工程。 Brandon 2011-12-17T07:35:52+08:002011-12-17T07:35:52+08:00 不确定这是否适用于 Express,但您可以查看 SQL Powershell 脚本...检查此链接。它是 SQL Powershell 视频的粗略记录(不幸的是,页面上的链接已损坏)。具体来说,您正在寻找如下所示的命令: gci | % {$_.script()} gci 是 Get-ChildItem,| 只是输出到下一个命令的管道,% 是 foreach 的简写,$_ 保存当前项目,我们正在调用 .script() 函数。 您应该能够将该信息保存或复制到文件中。 对于数据脚本,我推荐SSMS 工具包。 JNK 2011-12-17T07:40:06+08:002011-12-17T07:40:06+08:00 您可以使用SMO 框架和Powershell之类的工具来执行此操作。 网上有许多教程。 简而言之,您需要为数据库中的所有对象创建一个 SMO UrnCollection,然后将该 UrnCollection 传递给 SMO.Scripter 类以编写所有对象的脚本。
这个 SQL 脚本是我编写的 SQL Server 2005 表脚本工具,用于将数据库模式反向工程为 SQL。它可能会做你想做的事。将其加载到 SSMS 中并从菜单中设置“结果为文本”。然后运行脚本。它将对大多数主要数据库对象进行逆向工程。
不确定这是否适用于 Express,但您可以查看 SQL Powershell 脚本...检查此链接。它是 SQL Powershell 视频的粗略记录(不幸的是,页面上的链接已损坏)。具体来说,您正在寻找如下所示的命令:
gci 是 Get-ChildItem,| 只是输出到下一个命令的管道,% 是 foreach 的简写,$_ 保存当前项目,我们正在调用 .script() 函数。
您应该能够将该信息保存或复制到文件中。
对于数据脚本,我推荐SSMS 工具包。
您可以使用SMO 框架和Powershell之类的工具来执行此操作。
网上有许多教程。
简而言之,您需要为数据库中的所有对象创建一个 SMO UrnCollection,然后将该 UrnCollection 传递给 SMO.Scripter 类以编写所有对象的脚本。