有没有一个开源的SQL Server数据库比较工具?
我正在开发一个使用SQL Server 2005作为数据存储的开源项目。 我们需要一个数据库比较工具来生成差异脚本,以便能够将数据库从一个版本升级到另一个版本。
有一个开源或免费的SQL Server DB差异工具,那里生成一个转换脚本?
我认为Open DBiff做得不错。 这很简单,我使用SQL Server 2005/2008。
但只能生成更改脚本。 没有更多,也没有less。
在CodePlex上,我注意到了DbDiff ( http://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工具,他们提供命令行访问,但不幸的是,没有脚本命令导出比较结果到(报告)文件。
嗯,没有我所知道的。 你总是可以将这些定义作为SQL来检索,然后在它们上面运行一个diff工具,但是后面有点痛苦。
也许最好的解决scheme是使用某种“迁移”工具,因此您可以将数据库定义与您的代码一起保存,并对其进行版本化等。
更新
在Sourceforge上,我发现了Whiz SQL Structure与此描述的比较 :Whiz是一个数据库比较实用程序,它将有助于发现两个MS-SQL Server数据库之间的差异。 它还能够生成SQL脚本来更新从一个数据库到另一个数据库的更改。
不过,目前为止我还没有成功
我们有SQL Delta和SQL Compare。 每个人都有优势,但每个人都有弱点,使他们相当痛苦。
SQL Delta将在其比较中错过某些触发器,并且它将采取在动作列表中找不到的动作,并且有时会采取您不想要的动作。 那是在相当的时间发现的。
SQL比较会捕获触发器,但它们embedded在表列表中。 在一个大型的数据库上,这意味着要通过每个表格并筛选出来。 一些工具应该为我们隔离。 再次,相当的时间成本。
它有点晚了,但我刚刚在代码丛中提到了一个真正简单的项目:
input(或构build)两个连接string,它将比较所有表,视图和存储过程。