我想比较两个SQL Server数据库,包括模式(表结构)和表中的数据。做这件事最好的工具是什么?
当前回答
如果你使用MSSQL,我肯定会使用AdeptSQL。它是我用过的最不好看的数据库比较工具,但却是最有天赋的。它可以比较结构和数据。它告诉您哪些表在一个db上存在,而在另一个db上不存在,比较常用数据库的结构和数据,并生成脚本来同步这两个数据库。它不是免费的,但有30天的试用期(据我所知)
其他回答
我用过Red Gate的工具,它们非常棒。 但是,如果你没有钱,你可以尝试Open DBDiff来比较模式。
试试DBComparer吧,它免费且快速:
http://dbcomparer.com/
我喜欢Open DBDiff。
虽然它不是最完整的工具,但它工作得很好,它是免费的,而且非常容易使用。
我使用内置在最新版本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
推荐文章
- 如何连接列在Postgres选择?
- 有人可以对SQL查询进行版权保护吗?
- 数据库触发器是必要的吗?
- 如何知道MySQL表最近一次更新?
- 如何转储一些SQLite3表的数据?
- 如何检查SQL Server文本列是否为空?
- 如何创建一个SQL Server函数“连接”多行从一个子查询到一个单独的分隔字段?
- 在MySQL中的一个查询中更新多个具有不同值的行
- 在SQL中更新多个列
- 如何删除表中特定列的第一个字符?
- MySQL OR与IN性能
- 为什么我应该使用基于文档的数据库而不是关系数据库?
- 哪个更快/最好?SELECT *或SELECT columnn1, colum2, column3等
- 将值从同一表中的一列复制到另一列
- 什么是数据库池?