2008-08-22 147 views
39

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

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

回答

15

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

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

5

这不是开源的,但是是免费的(如啤酒):Sql Effects Accord (aka Clarity) Community Edition

+0

刚刚试过这个......它不会生成差异脚本,所以没有那么有用。 – 2011-01-18 10:44:30

+0

他们anno 2007工具页面上的注册也被破坏... – 2014-02-26 19:08:33

0

嗯,没有,我知道的。您始终可以将定义作为SQL进行检索,然后对它们运行差异化工具,但后方有点痛苦。

可能就是这个最好的解决办法是使用某种形式的“迁移”的工具,这样你就可以与您的代码保持你的数据库定义放在一起,并将它们的版本等

0

更新

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

不过,我已经在得到它的工作至今未果......

12

在CodePlex上我昨天DbDiffhttp://www.codeplex.com/OpenDBiff),您可以尝试发现。支持Sql2005和2008,我没有尝试过。

+1

这似乎不适用于Win7 64bit。 – Marc 2010-03-05 20:12:12

+0

它在Win7 64bit上并不适用于我,但是我设法从源代码构建了它(从SubSonic副本中添加了一些来自二进制发行版的缺少dll以及System.Data.SQLite.DLL)。我花了5分钟左右的时间去做。试一试 - 它似乎产生了很好的结果(生成一个同步脚本)。已经运行测试脚本,但该工具看起来非常有前途。 – Muxa 2010-07-24 08:50:36

+0

有关信息,现在可以使用64位。刚刚尝试过,非常好的工具。不如AdeptSQL Diff好,但它是免费的! – 2011-01-18 10:43:45

6

我建议花一些现金,并获得Red Gate's SQL Compare工具,它做的非常出色,甚至可以将数据库与Visual Studio数据库项目进行比较以生成升级脚本。它使用简单快捷,并且运行良好。升级脚本的质量也不错。

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

+9

这个说法可以用来证明购买一切,从Aeron椅子到40英寸的屏幕给站在你身后的人和按摩你的背部 对于一个没有销售的小型企业来说,它必须购买更多的商品,对比这一点与Typemock Isolator相反,它的售价为90美元“对于在家工作的独立开发者而言,Beyond Compare售价30美元,visualSVN售价50美元 - 你可以看到我的观点(所有数字都是四舍五入的) 他们应该已经做出了一个“个人”版本 – Avi 2009-06-29 07:54:51

3

阿罗哈

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

0

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

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

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

4

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

1

任何人都试试xSQL Bundle(xSQL Data Compare和xSQL Object Compare)?我们的地方只使用DB差异,没有同步,所以不能说同步,但差异和报告并不差。

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

任何人都知道任何这里提到的自由/开源数据库差异工具提供脚本化/命令行界面比较和synching自动化?

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

0

它是晚了一点,但我只是relased上的代码丛一个真正简单的项目:

http://dbcompare.codeplex.com

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