如何找到两个数据库之间的差异?

时间:2012-01-24 13:45:57

标签: sql sql-server sql-server-2005

我正在尝试将更改从DatabaseA复制到DatabaseB,但我不确切知道这些更改是什么。

是否有一个SQL脚本可以找到数据库之间不同的对象,然后生成一个脚本来更新DatabaseB以匹配DatabaseA?

我正在使用SQL 2005,我不想丢失DatabaseB中的现有数据

4 个答案:

答案 0 :(得分:7)

尝试DBComparer

答案 1 :(得分:3)

Red Gate的架构和数据比较工具可以完全满足您的需求。市场上还有一些其他产品,如Apex SQL Compare。但是,如果您有幸拥有Visual Studio 2010 Premium或Ultimate版本,那么这些版本内置了一个比较工具。

http://www.apexsql.com/default.aspx

http://www.red-gate.com/products/sql-development/sql-compare

http://msdn.microsoft.com/en-us/library/dd193250.aspx

否则,您将不得不使用链接服务器和大量查询INFORMATION_SCHEMA。

您可以试用一些软件工具,并且可能无需购买完整许可即可获得所需的软件。

答案 2 :(得分:2)

我使用了Red Gate Software的“SQL Compare”和“SQL Data Compare”,它们就像魅力一样。我不认为存在执行相同工作的脚本,因为如果它存在,那么这些产品就没有用处也没有市场。

答案 3 :(得分:0)

我使用AdeptSQL Diff。这是www.adeptsql.com发现的商业产品。我认为试用许可证是30天或50个初创公司。