有没有一个开源的SQL Server数据库比较工具?

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

有一个开源或免费的SQL Server DB差异工具,那里生成一个转换脚本?

我认为Open DBiff做得不错。 这很简单,我使用SQL Server 2005/2008。

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

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

我build议花费一些现金,并得到红门的SQL比较工具,它做了一个出色的工作,甚至可以比较数据库到Visual Studio数据库项目来生成升级脚本。 它使用起来快速且简单,而且运行良好。 升级脚本的质量也不错。

这并不昂贵。 可能比你的时间更便宜。 考虑一下你的小时率是多less,调查一个开源工具花费多less时间(以及你花了多less钱),然后把它们相乘。 这是多less“免费”的工具真的让你付出了代价,这通常比商业工具更重要。

它不是开源的,而是免费的(如在啤酒中): Sql效果雅阁(aka Clarity)社区版

AdeptSQL Diff和DataDiff是美妙的产品,比RedGate便宜得多,还有一个更加简化的用户界面,我还没有遇到它无法处理的场景。

阿罗哈

你可能想试试SqlDbDiff 。 它可以生成更改脚本。 免费版的工作足够好。

任何人都可以尝试xSQL Bundle(xSQL数据比较和xSQL对象比较)? 我们的地方只用于DB差异,没有同步,所以不能说同步,但差异和报告并不差。

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

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

我研究了xSQL工具,他们提供命令行访问,但不幸的是,没有脚本命令导出比较结果到(报告)文件。

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

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

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

嗯,没有我所知道的。 你总是可以将这些定义作为SQL来检索,然后在它们上面运行一个diff工具,但是后面有点痛苦。

也许最好的解决scheme是使用某种“迁移”工具,因此您可以将数据库定义与您的代码一起保存,并对其进行版本化等。

更新

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

不过,目前为止我还没有成功

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

SQL Delta将在其比较中错过某些触发器,并且它将采取在动作列表中找不到的动作,并且有时会采取您不想要的动作。 那是在相当的时间发现的。

SQL比较会捕获触发器,但它们embedded在表列表中。 在一个大型的数据库上,这意味着要通过每个表格并筛选出来。 一些工具应该为我们隔离。 再次,相当的时间成本。

它有点晚了,但我刚刚在代码丛中提到了一个真正简单的项目:

http://dbcompare.codeplex.com

input(或构build)两个连接string,它将比较所有表,视图和存储过程。