我想比较两个SQL Server数据库,包括模式(表结构)和表中的数据。做这件事最好的工具是什么?
当前回答
试试DBComparer吧,它免费且快速:
http://dbcomparer.com/
其他回答
我偏爱AdeptSQL。它干净直观,没有让我在很多类似程序中害怕的特性。你按下一个巨大的按钮,它就会自动同步一切,而不需要这么多的提醒。如果你想同步这些变化,你必须自己做,我喜欢这样。
如果你使用MSSQL,我肯定会使用AdeptSQL。它是我用过的最不好看的数据库比较工具,但却是最有天赋的。它可以比较结构和数据。它告诉您哪些表在一个db上存在,而在另一个db上不存在,比较常用数据库的结构和数据,并生成脚本来同步这两个数据库。它不是免费的,但有30天的试用期(据我所知)
我们正在使用内部开发的解决方案,基本上是一个过程,你想要的参数包括在比较(SP的,完整的SP代码,表结构,默认值,索引,触发器..等)
根据你的需求和预算,这对你来说也是一个好方法。
它也很容易开发,然后我们只需要将程序的输出重定向到文本文件,并在文件之间进行文本比较。
它的一个优点是可以将输出保存在源代码控制中。
/B
我使用内置在最新版本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.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