我想比较两个SQL Server数据库,包括模式(表结构)和表中的数据。做这件事最好的工具是什么?
当前回答
我用过Red Gate的工具,它们非常棒。 但是,如果你没有钱,你可以尝试Open DBDiff来比较模式。
其他回答
我们正在使用内部开发的解决方案,基本上是一个过程,你想要的参数包括在比较(SP的,完整的SP代码,表结构,默认值,索引,触发器..等)
根据你的需求和预算,这对你来说也是一个好方法。
它也很容易开发,然后我们只需要将程序的输出重定向到文本文件,并在文件之间进行文本比较。
它的一个优点是可以将输出保存在源代码控制中。
/B
数据库工作台也可以做到
http://www.upscene.com/products.dbw.index.php
跨数据库开发 使用模式比较和迁移 比较测试和部署的工具 数据库,迁移现有数据库 到不同的数据库系统。
你也可以用数据库比较器
http://www.clevercomponents.com/products/dbcomparer/dbcomparer.asp
我把它用在Firebird上,效果很好。
来自http://www.simego.com/Products/SQL-Admin-Studio的SQL Admin Studio现在是免费的,可以让你管理你的SQL数据库,SQL比较和同步,数据比较和同步等等。也支持SQL Azure和一些MySQL支持太。
[更新:是的,我是上述程序的作者,因为它现在是免费的,我只是想与社区分享它]
我以前用过SQL Delta (http://www.sqldelta.com/),它真的很好。不过不是免费的,不知道价格如何与Red-Gates相比
Dbghost是我迄今为止用过的最好的。我所见过的最好的特性之一是,它会生成SQL代码,根据您保存在源代码控制中的SQL,以及数据库,在不同的数据库版本之间切换。简单易用。
推荐文章
- 如何在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