SQL Server差异比较工具

8

在一个团队中,人们往往会修改开发SQL Server表并忘记保存,或者为部署准备更改并等待部署。这会导致我们的开发和生产表不一致,在SProc被推到生产环境时会引起问题。

是否有一种工具,我可以输入SProc名称,并检查在开发和生产数据库中引用的所有表,以及通知是否存在差异?

7个回答

11

我知道两个优秀的工具用于比较SQL数据库结构——它们不会专门查看存储过程的文本,但是它们将显示您数据库中的结构差异:

Redgate还有一个SQL Dependency Tracker,可以可视化对象依赖关系,在这里可能非常有用。

Marc


4
对于SQL Server 2005/2008,Open DBDiff非常适用。很棒的一点是它是免费的。请注意,我是针对目前适用于SQL 2005/2008版本的0.9版进行回答。
该工具将显示您指定的源数据库和目标数据库之间的数据库架构差异。还有按钮可供单击,以更新或创建相关的表格。

2

SQLDBDiff 是一款好用、用户友好且轻巧的工具。

SQLDBDiff 支持 SQL Server 2000 到 2016 版本,也支持 SQL Azure

SQLDBDiff 提供两种版本:带有限制使用的 免费版 和带有 试用期 的完整版。

SQLDBDiff 屏幕截图

更多屏幕截图


2
我建议使用Redgate Software的SQL比较和SQL数据比较工具。我在几个项目中都使用了这些工具,它们表现得非常好。记录更改也是一件好事,但有些更改太复杂了,无法自己编写SQL代码(包括在表之间搬移数据)。
Redgate工具可以在几秒钟内创建脚本,并且这些脚本几乎总是正确的(一些旧版本在处理大型数据库中的表依赖性时可能会遇到困难,但是通过在begin transaction/rollback语句中进行调试,我能够快速解决这些问题)。
Redgate套件的另一个优点是您可以保存比较项目。当您不想转换某个表格(或数据)时,这特别有用,您可以将其排除在外。下次加载项目时,软件将自动忽略这些表格。
缺点是软件的成本(我与一些小公司合作时他们不想购买软件)。 SQL比较和SQL数据比较加起来将花费您约800美元,但如果考虑到发布时节省的时间,您将节省很多钱。还有一个试用版可供您试用(我相信是30天)。

1
SQL Compare和SQL Data Compare可以作为SQL Comparison Bundle的一部分一起购买,价格为595美元。此外,SQL Packager和SQL Dependency Tracker也包含在内。 - David Atkinson

1
我制作了一个MssqlMerge实用程序,可以比较(和合并)MSSQL数据库数据和编程对象。它还允许在表定义和编程对象中搜索特定单词或短语。

1

1
尝试使用Microsoft Visual Studio Database Edition,也被称为Data Dude(以前是为数据库专业人员设计的)。它可以进行完整的模式比较,并生成升级目标模式所需的脚本。
当然,这并不能替代一个适当的构建过程;-)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接