2009-08-05 173 views
7

在一个团队中工作,人们往往会修改开发SQL Server表并忘记它,或者准备对部署进行更改并且必须等待该部署。这使我们的开发人员和活动表格不一致,导致在SPROC实时推送时出现问题。SQL Server diff工具

有没有一种工具可以让我输入SPROC名称并让它检查dev和live DB中引用的所有表,并通知有什么区别?

回答

9

我知道版本比较SQL数据库结构的两个优秀的工具 - 他们没有专门针对他们的文字看起来里面存储过程,但他们带你去结构上的差异在你的数据库:

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

马克

2

我会建议SQL比较,并从Redgate Software SQL数据比较。我与这些工具一起工作了几个项目,他们做得很好。记录更改也是一件好事,但某些更改会很复杂,因此无法编写自己的SQL代码(包括在表间进行数据交换)。

redgate工具可以在几秒钟内创建脚本,而且这些脚本几乎总是正确的(一些旧版本在大型数据库中很难处理表依赖性,但是在处理这些语句时(在开始事务/回滚)我能够快速解决这些问题)。

redgate套件的另一个优点是您可以保存比较项目。当你不想转换某个表(或数据)时,这是特别有用的,你可以排除它们。当下次加载项目时,软件将自动忽略这些表格。

一个缺点是软件的成本(与我合作的小公司不想购买该软件)。 SQL比较和SQL数据一起比较会花费你大约800美元,但是如果你看看你在发布时会节省的时间,你将节省很多钱。还有一个你可以玩的试验(我相信30天)。

+1

SQL比较和SQL数据比较可以为$ 595 SQL比较软件包的一部分一起购买。 SQL Packager和SQL依赖跟踪也包括在内。 – 2009-10-28 09:19:58

1

我做了一个MssqlMerge工具,它允许进行比较(与合并)MSSQL数据库的数据和编程对象。它还允许在表格定义和编程对象中搜索特定的单词或短语。

1

对于SQL Server 2005/2008,Open DBDiff工作得很好。关于这一点的重要部分是它的免费。另外请注意,我正在编写适用于SQL 2005/2008版本0.9的此答案。

它会向您显示您指定的源数据库与指定的目标数据库之间的数据库模式之间的差异。还有可点击的按钮,可以更新或创建有问题的表格。

2

SQLDBDiff是一个不错的和用户友好的精简工具。

SQLDBDiff支持SQL Server 2000 to 2016SQL Azure

SQLDBDiff可用于free有限使用和完整有trial

SQLDBDiff Screen

More Screen