为SQL生成主脚本的最佳方法

时间:2010-02-03 06:38:41

标签: sql sql-server-2005 tsql

我想提取特定的数据库表&存储过程到一个主脚本中。你知道任何可以帮助我更快地完成这项工作的软件吗?我已经尝试过使用SQL数据库发布工具,但由于我没有选择收集表,因此效率不高。

3 个答案:

答案 0 :(得分:2)

在SQL Server 2005中,右键单击数据库,然后选择“任务”,再选择“生成脚本”。

Generating SQL Scripts in SQL Server 2005

如该链接中所述,我非常确定您必须单独生成DROP和CREATE语句。

答案 1 :(得分:0)

我使用Redgate SQL compare(通过与空DB比较),以及在我的所有数据库版本之间进行升级(我为每个发布的版本保存了一份数据库副本,然后只做一个比较当前和之前的版本以获得该版本的更改脚本。)

我发现“Generate Scripts”在某些依赖项的情况下做得不好 - 例如,它会尝试创建一个在创建表之前使用表的存储过程,从而导致脚本失败。我会接受我可能使用它错了,但SQL Compare“只是工作”。它生成的脚本也包含在事务中 - 因此如果某些内容失败,则会回滚整个更改。您最终不会使用半满或半升级的数据库。

缺点是这是一个商业工具,但恕我直言,这笔钱。

答案 2 :(得分:0)

尝试DBSourceTools。 http://dbsourcetools.codeplex.com
它的开源,专门设计用于脚本数据库 - 表,视图,磁盘触发器 它还允许您选择要编写脚本的表,视图和数据库对象。