在一个团队中工作,人们很容易修改开发SQL Server表并忘记它,或准备部署更改并等待部署。这使我们的dev和live table不一致,导致SPROC被推送时出现问题。
是否有工具可以输入SPROC名称并检查dev和live DB中引用的所有表格,并通知任何差异?
答案 0 :(得分:9)
我知道两种用于区分SQL数据库结构的优秀工具 - 它们没有专门查看存储过程中的文本,但它们会向您显示数据库中的结构差异:
Redgate还有一个SQL Dependency Tracker可视化对象依赖项,在这里非常有用。
马克
答案 1 :(得分:3)
对于SQL Server 2005/2008,Open DBDiff运行良好。关于这一点的重要部分是免费。另请注意,我正在为0.9版本编写此答案,该版本目前适用于SQL 2005/2008。
它将向您显示您指定的源数据库与您指定的目标数据库之间的数据库架构之间的差异。您还可以单击可以更新或创建相关表格的按钮。
答案 2 :(得分:2)
我建议使用来自Redgate Software的SQL比较和SQL数据比较。我使用这些工具完成了几个项目,他们做得很好。记录更改也是一件好事,但是为了编写自己的SQL代码(包括在表之间处理数据),一些更改很复杂。
redgate工具在几秒钟内创建脚本,这些脚本几乎总是正确的(一些旧版本在大型数据库中很难与表依赖关系,但在使用这些语句时(在begin transaction / rollback中)我能够快速解决这些问题)。
redgate套件的另一个优点是您可以保存比较项目。当您不想转换某个表(或数据)时,这尤其有用,您可以将它们排除在外。下次加载项目时,软件会自动忽略这些表格。
一个缺点是软件的成本(我工作的小公司不想购买软件)。 SQL比较和SQL数据一起比较将花费你大约800美元,但如果你看看你在发布时节省的时间将节省很多钱。还有一个你可以玩的试用(我相信30天)。
答案 3 :(得分:2)
SQLDBDiff是一个不错且用户友好且精简的工具。
SQLDBDiff支持SQL Server 2000 to 2016
和SQL Azure
。
SQLDBDiff可用,free
使用有限且使用trial
完整。
答案 4 :(得分:1)
尝试Microsoft Visual Studio Database Edition又名Data Dude(以前用于数据库专业人员)。它将执行完整的模式比较并生成必要的脚本以升级目标模式。
当然,这不应该取代正确的构建过程; - )
答案 5 :(得分:1)
如果您需要SQL Server的快速架构比较工具,则应该查看dbForge Schema Compare for SQL Server。
答案 6 :(得分:1)
我已经创建了一个MssqlMerge实用程序,可以比较(和合并)MSSQL数据库数据和编程对象。它还允许跨表定义和编程对象搜索特定的单词或短语。