我想比较两个SQL Server数据库,包括模式(表结构)和表中的数据。做这件事最好的工具是什么?


当前回答

有一个工具的源代码可以在 http://www.codeproject.com/Articles/205011/SQL-Server-Database-Comparison-Tool

这将在代码可用时提供灵活性。

其他回答

数据库工作台也可以做到

http://www.upscene.com/products.dbw.index.php

跨数据库开发 使用模式比较和迁移 比较测试和部署的工具 数据库,迁移现有数据库 到不同的数据库系统。

你也可以用数据库比较器

http://www.clevercomponents.com/products/dbcomparer/dbcomparer.asp

我把它用在Firebird上,效果很好。

我正在使用红门公司的软件: http://www.red-gate.com

如果你使用MSSQL,我肯定会使用AdeptSQL。它是我用过的最不好看的数据库比较工具,但却是最有天赋的。它可以比较结构和数据。它告诉您哪些表在一个db上存在,而在另一个db上不存在,比较常用数据库的结构和数据,并生成脚本来同步这两个数据库。它不是免费的,但有30天的试用期(据我所知)

我使用内置在最新版本Microsoft Visual Studio 2015社区版(免费)或专业版/高级版/终极版中的模式和数据比较功能。效果好极了!

http://channel9.msdn.com/Events/Visual-Studio/Launch-2013/VS108

Red-Gate的SQL数据比较工具是我的第二个选择:

(来源:spaanjaars.com)

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

我们正在使用内部开发的解决方案,基本上是一个过程,你想要的参数包括在比较(SP的,完整的SP代码,表结构,默认值,索引,触发器..等)

根据你的需求和预算,这对你来说也是一个好方法。

它也很容易开发,然后我们只需要将程序的输出重定向到文本文件,并在文件之间进行文本比较。

它的一个优点是可以将输出保存在源代码控制中。

/B