我想比较两个SQL Server数据库,包括模式(表结构)和表中的数据。做这件事最好的工具是什么?
当前回答
如果你使用MSSQL,我肯定会使用AdeptSQL。它是我用过的最不好看的数据库比较工具,但却是最有天赋的。它可以比较结构和数据。它告诉您哪些表在一个db上存在,而在另一个db上不存在,比较常用数据库的结构和数据,并生成脚本来同步这两个数据库。它不是免费的,但有30天的试用期(据我所知)
其他回答
我偏爱AdeptSQL。它干净直观,没有让我在很多类似程序中害怕的特性。你按下一个巨大的按钮,它就会自动同步一切,而不需要这么多的提醒。如果你想同步这些变化,你必须自己做,我喜欢这样。
我使用内置在最新版本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/
来自http://www.simego.com/Products/SQL-Admin-Studio的SQL Admin Studio现在是免费的,可以让你管理你的SQL数据库,SQL比较和同步,数据比较和同步等等。也支持SQL Azure和一些MySQL支持太。
[更新:是的,我是上述程序的作者,因为它现在是免费的,我只是想与社区分享它]
我喜欢Open DBDiff。
虽然它不是最完整的工具,但它工作得很好,它是免费的,而且非常容易使用。
有一个工具的源代码可以在 http://www.codeproject.com/Articles/205011/SQL-Server-Database-Comparison-Tool
这将在代码可用时提供灵活性。
推荐文章
- 如何在Ruby On Rails中使用NuoDB手动执行SQL命令
- 查询JSON类型内的数组元素
- 确定记录是否存在的最快方法
- 获得PostgreSQL数据库中当前连接数的正确查询
- 在SQL选择语句Order By 1的目的是什么?
- MySQL数据库表中的最大记录数
- 从现有模式生成表关系图(SQL Server)
- 我如何循环通过一组记录在SQL Server?
- HyperLogLog算法是如何工作的?
- 数据库和模式的区别
- 如何在SQL Server中一次更改多个列
- 如何从命令行通过mysql运行一个查询?
- 外键约束可能导致循环或多条级联路径?
- 使用LIMIT/OFFSET运行查询,还可以获得总行数
- 当恢复sql时,psql无效命令\N