【问题标题】:Tool to upgrade SQL Express database after deployment部署后升级 SQL Express 数据库的工具
【发布时间】:2014-04-22 20:24:06
【问题描述】:

我有一个使用 SQL Express 的应用程序,而我的客户主要是没有专门的 IT 人员,因此不知道如何运行脚本。所以部署和升级必须很容易。部署部分都搞定了。我需要知道的是,该产品的第 2 版何时发布以及更新数据库结构或数据的时间,有没有比传统的脚本方法更好的方法。脚本方法的问题通常是,您有一个开发数据库被一群开发人员使用,并且无法跟踪谁进行了哪些更改,以便能够将它们合并到部署数据库中。

【问题讨论】:

    标签: sql-server deployment


    【解决方案1】:

    保持跟踪,或者使用 Red Gate 的比较工具等产品生成脚本,然后让您的安装程序运行升级脚本。用户只需双击 setup.exe。

    【讨论】:

      【解决方案2】:

      我建议使用 SQLCompare。它允许您进行所有更改而不必担心脚本,然后您可以快速将 Dev/Stage 环境与生产环境同步,或者创建一个可以在远程计算机上运行的脚本。

      如果您不想花费 $$$,请将您的所有更改保留在源代码管理中,就像您的代码一样。您可以单独保留每个更改脚本,或者让您的 scc 系统的主干成为 DB 的最终版本并运行每个 DB 对象的版本(我更喜欢更改脚本方法,但已经看到其他工作)。

      【讨论】:

        【解决方案3】:

        您的数据库中还应该有一个表来跟踪当前版本,以免重复相同的更新,或者不按顺序进行 - 假设客户正在应用多个补丁。为 SQL 比较 +1。


        此外,SQL 比较会将所有内容包装在一个事务中。你也可以这样做。他们创建一个临时表来保存所有错误,并在其中任何一个失败时回滚(iirc)。帮助您一次查看所有错误。如果数据库更新失败,您也可以存储它,然后让客户将其发送给您进行故障排除。

        【讨论】:

          【解决方案4】:

          在 Visual Studio 2012 中,转到 SQL(菜单项)-> 架构比较。单击左侧的 Select Source,然后选择 dev 数据库。选择右侧的生产数据库。

          然后单击生成脚本图标(在更新图标旁边,它看起来或多或少像一个音乐图标)。这将生成更新脚本。您也可以取消选中您不想包含在脚本中的任何更改。如果您碰巧拥有 Visual Studio 2012,它是...“免费”

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-01-27
            • 2011-11-21
            相关资源
            最近更新 更多