我正在开发一个使用SQL Server 2005作为数据存储的开源项目。 我们需要一个DB比较工具来生成diff脚本,以便能够将DB从一个版本升级到另一个版本。

是否有一个开源或免费的SQL Server数据库差异工具,生成转换脚本?

===============>>#1 票数:16 已采纳

我认为Open DBiff做得很好。 它很简单,我使用SQL Server 2005/2008。

但只生成更改脚本。 没有更多,也没有更少。

===============>>#2 票数:12

在CodePlex上我昨天注意到你可以试试DbDiffhttp://www.codeplex.com/OpenDBiff )。 支持Sql2005和2008,我没试过。

===============>>#3 票数:6

我建议花一些钱购买Red Gate的SQL Compare工具,它可以很好地工作,甚至可以将数据库与Visual Studio数据库项目进行比较以生成升级脚本。 它快速且易于使用,并且运行良好。 升级脚本质量也不错。

它并不昂贵。 可能比你的时间便宜。 只要考虑一下你的每小时费用是多少,以及调查一个开源工具并使其工作(以及你已经花费了多少)可能需要多少小时,然后将它们相乘。 这就是“免费”工具真正耗费多少钱,这通常远远超过商业工具。

===============>>#4 票数:5

它不是开源的,而是免费的(如啤酒): Sql Effects Accord(又名Clarity)社区版

===============>>#5 票数:4

AdeptSQL Diff和DataDiff是很棒的产品,比RedGate便宜得多,而且UI更简化,我还没遇到它无法处理的场景。

===============>>#6 票数:3

阿罗哈

您可能想尝试SqlDbDiff 它可以生成更改脚本。 免费版做得很好。

===============>>#7 票数:1

有人试过xSQL Bundle(xSQL Data Compare和xSQL Object Compare)吗? 我们的地方只用于DB差异,没有同步,所以不能说同步,但差异和报告也不错。

此外,OpenDBDiff有一个分拆,不确定哪个更好 - http://code.google.com/p/sql-dbdiff/

任何人都知道这里提到的任何免费/开源数据库差异工具是否提供脚本/命令行界面来自动化差异和同步?

我查看了xSQL工具,它们提供了命令行访问,但遗憾的是,没有可编写脚本的命令将diff结果导出到(报告)文件。

===============>>#8 票数:1

虽然它不是你想要的,但我发现这是为了postgres:

http://mbk.projects.postgresql.org/

它不会生成要应用的差异,而是允许您将新版本表的完整转储与先前版本合并。

===============>>#9 票数:0

我们有SQL Delta和SQL Compare。 每个人都有优势,但每个人都有弱点,使他们非常痛苦。

SQL Delta将在其比较中遗漏一些触发器,它将采取动作列表中未找到的操作,并且有时会采取您不希望它采取的操作。 这是在很长的时间内发现的。

SQL Compare将捕获触发器,但它们嵌入在表列表中。 在大型数据库中,这意味着遍历每个表并筛选出来。 这个工具应该为我们隔离的东西。 再次,非常耗费时间。

===============>>#10 票数:0

嗯,我不知道。 您始终可以将定义检索为SQL,然后在它们上运行diff工具,但后面有点痛苦。

可能最好的解决方案是使用某种“迁移”工具,这样您就可以将数据库定义与代码保持在一起,并对它们进行版本控制等。

===============>>#11 票数:0

更新

在Sourceforge上我发现了Whiz SQL结构与此描述比较 :Whiz是一个数据库diff实用程序,可用于查找两个MS-SQL Server数据库之间的差异。 它还能够生成SQL脚本以将更改从一个数据库更新到另一个数据库。

但是到目前为止,我还没有成功地让它工作......

===============>>#12 票数:0

它有点晚了,但我刚刚在代码plex上发布了一个真正的简单项目:

http://dbcompare.codeplex.com

输入(或构建)两个连接字符串,它将比较所有表,视图和存储过程。

  ask by Guy translate from so

未解决问题?本站智能推荐: