【问题标题】:Compare two SQL databases [closed]比较两个 SQL 数据库
【发布时间】:2011-05-29 07:45:26
【问题描述】:

我在我的开发机器上做了一大堆更改(表定义、存储过程等)。是否有我可以运行的脚本或免费工具来找出开发和实时服务器之间的所有差异?

【问题讨论】:

  • 当您即将进行的部署得到处理时。将 DDL 置于版本控制之下。

标签: sql sql-server-2008 database-schema


【解决方案1】:

简短的回答是没有开箱即用的脚本可以告诉您两个数据库之间的差异。它可以使用信息模式视图创建,但如果您真的想比较所有内容,它可能会非常复杂。

我建议您尝试使用此处提到的第三方工具之一来完成工作。

我在 ApexSQL Diff 上取得了很好的成功,尤其是在大型数据库上,但这里提到的任何工具都不会出错。

【讨论】:

    【解决方案2】:

    SQL Compare 不是免费的,但有 14 天的免费试用期。

    Visual Studio 也有 schema comparison tool(自 2005 年起)。

    【讨论】:

      【解决方案3】:

      SQLDBDiff 免费提供:http://www.sqldbtools.com/Default.aspx

      【讨论】:

      • 不要被它的“复古”外观所吓倒,这真的很好用,免费且易于设置。
      【解决方案4】:

      那么,谷歌搜索得到了什么?

      看看Microsoft SQL Server Compare Tools

      【讨论】:

      • 不多,这就是我在这里问的原因。虽然我主要是在寻找 scipt 而不是工具。
      【解决方案5】:

      【讨论】:

        【解决方案6】:

        以下是比较工具列表: http://www.mssqltips.com/sqlservertip/1069/sql-server-comparison-tools/

        顺便说一句,对于那些想比较 Azure 数据库和 SqlServer 数据库的人来说,Visual Studio 2010 做不到。它不支持早于 2008R2 的数据库。 也是在这个时候,VS2012没有比较工具。 可以进行数据比较/模式比较的最佳工具是红门工具。 希望这会有所帮助。

        【讨论】:

          【解决方案7】:

          以下是我用来比较两个 SQL 数据库的三种不同方法。

          1)。您可以使用 Visual Studio 来比较两个数据库,如下所示。 进入Visual Studio并单击工具,sql server。您可以看到有两个选项,名为新数据比较和新模式比较。你可以为所欲为。

          2)。另一种是使用 RedGate 插件,但这不是免费的。您可以使用 30 天免费试用,并且您可以将两个数据库上传到 Visual Studio 目录,而本地数据库在您的计算机中。它就像 Visual Studio TFS。

          3)。您应该为 Visual Studio Team Foundation Server 安装 MSSCCI(Microsoft 源代码控制接口)。使用本文并按照说明进行操作。

          https://www.mssqltips.com/sqlservertip/5049/getting-started-with-source-control-for-sql-server/

          【讨论】:

            【解决方案8】:

            MssqlMerge 的免费版本可以显示对表定义、视图、存储过程和函数所做的更改(我是这个工具的作者)。

            【讨论】:

              猜你喜欢
              • 2011-11-28
              • 2017-10-29
              • 2015-06-25
              • 1970-01-01
              • 2018-10-20
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多