[英]Is there an open source SQL Server DB compare tool? [closed]
我正在开发一个使用SQL Server 2005作为数据存储的开源项目。 我们需要一个DB比较工具来生成diff脚本,以便能够将DB从一个版本升级到另一个版本。
是否有一个开源或免费的SQL Server数据库差异工具,生成转换脚本?
我认为Open DBiff做得很好。 它很简单,我使用SQL Server 2005/2008。
但只生成更改脚本。 没有更多,也没有更少。
在CodePlex上我昨天注意到你可以试试DbDiff ( http://www.codeplex.com/OpenDBiff )。 支持Sql2005和2008,我没试过。
我建议花一些钱购买Red Gate的SQL Compare工具,它可以很好地工作,甚至可以将数据库与Visual Studio数据库项目进行比较以生成升级脚本。 它快速且易于使用,并且运行良好。 升级脚本质量也不错。
它并不昂贵。 可能比你的时间便宜。 只要考虑一下你的每小时费用是多少,以及调查一个开源工具并使其工作(以及你已经花费了多少)可能需要多少小时,然后将它们相乘。 这就是“免费”工具真正耗费多少钱,这通常远远超过商业工具。
它不是开源的,而是免费的(如啤酒): Sql Effects Accord(又名Clarity)社区版
AdeptSQL Diff和DataDiff是很棒的产品,比RedGate便宜得多,而且UI更简化,我还没遇到它无法处理的场景。
阿罗哈
您可能想尝试SqlDbDiff 。 它可以生成更改脚本。 免费版做得很好。
有人试过xSQL Bundle(xSQL Data Compare和xSQL Object Compare)吗? 我们的地方只用于DB差异,没有同步,所以不能说同步,但差异和报告也不错。
此外,OpenDBDiff有一个分拆,不确定哪个更好 - http://code.google.com/p/sql-dbdiff/
任何人都知道这里提到的任何免费/开源数据库差异工具是否提供脚本/命令行界面来自动化差异和同步?
我查看了xSQL工具,它们提供了命令行访问,但遗憾的是,没有可编写脚本的命令将diff结果导出到(报告)文件。
我们有SQL Delta和SQL Compare。 每个人都有优势,但每个人都有弱点,使他们非常痛苦。
SQL Delta将在其比较中遗漏一些触发器,它将采取动作列表中未找到的操作,并且有时会采取您不希望它采取的操作。 这是在很长的时间内发现的。
SQL Compare将捕获触发器,但它们嵌入在表列表中。 在大型数据库中,这意味着遍历每个表并筛选出来。 这个工具应该为我们隔离的东西。 再次,非常耗费时间。
嗯,我不知道。 您始终可以将定义检索为SQL,然后在它们上运行diff工具,但后面有点痛苦。
可能最好的解决方案是使用某种“迁移”工具,这样您就可以将数据库定义与代码保持在一起,并对它们进行版本控制等。
更新
在Sourceforge上我发现了Whiz SQL结构与此描述比较 :Whiz是一个数据库diff实用程序,可用于查找两个MS-SQL Server数据库之间的差异。 它还能够生成SQL脚本以将更改从一个数据库更新到另一个数据库。
但是到目前为止,我还没有成功地让它工作......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.