代码之家  ›  专栏  ›  技术社区  ›  kjv

SQL Server数据库架构版本控制和更新

  •  3
  • kjv  · 技术社区  · 15 年前

    对于我的应用程序,我必须支持更新方案,数据库可能会受到影响。

    如何存储SQL Server数据库的数据库版本?有没有什么特殊的属性可以设置,而不是实现一个版本表?在我的代码(.NET)中,我希望读取数据库版本,并相应地按照正确的顺序执行更新SQL脚本。

    我将同时使用SQLServer2005和SQLServer2008。

    4 回复  |  直到 15 年前
        1
  •  7
  •   Remus Rusanu    15 年前

    Version Control and your Database :

    SELECT [value] 
        from ::fn_listextendedproperty (
            'MyApplication DB Version', 
            default, default, default, default, default, default);
    

    ...

    EXEC sp_updateextendedproperty 
        @name = N'MyApplication DB Version', @value = '1.2';
    GO
    
        2
  •  3
  •   Community CDub    7 年前

    我写这篇文章是为了回答另一个问题 here

        3
  •  2
  •   Bravax    15 年前

    这取决于您使用的SQL Server版本。

    我不相信数据库版本是数据库的内置属性,但是您可能可以使用扩展属性。

    就个人而言,我会创建自己的版本表,因为这将允许您将更多元数据与之关联。

        4
  •  0
  •   Zoran Horvat    11 年前

    可以添加注册当前版本的表。然后运行所有升级脚本,但脚本的编写方式应确保在当前版本高于脚本预期版本时不会执行。

    这样,与数据库模式的当前版本无关。脚本将仅对架构进行尚未进行的更改。

    在这里,您可以找到一些大大减少编写升级脚本工作量的存储过程: How to Maintain SQL Server Database Schema Version

    推荐文章