sql-server – 在SQL Server中存储数据库模式版本的最佳做法?
发布时间:2020-12-12 16:11:30 所属栏目:MsSql教程 来源:网络整理
导读:我有一个应用程序将部署在带有SQL Server的生产PC上. 我想要能够在我的数据库中存储和检索模式的版本. 我对最佳做法感兴趣,能够实现这一目标,具有以下主要目标: 能够存储并轻松地检索数据库的版本号. 客户隐藏或更难找到和操纵. 创建新版本时,可以进行编辑/
我有一个应用程序将部署在带有SQL Server的生产PC上.
我想要能够在我的数据库中存储和检索模式的版本. 我对最佳做法感兴趣,能够实现这一目标,具有以下主要目标: 能够存储并轻松地检索数据库的版本号. 我希望有一种方法可以在元数据中存储“版本”,而不是通过系统存储过程访问/设置普通表. 任何想法或最佳做法? 编辑:我发现一个可能有希望的选项是使用SQL Server扩展属性,将分配给“Schema_Version”和版本号的密钥|值分配给DB.它不是加密的(但是值可以),并且不被隐藏,但是至少从我们的一些用户和现场人员浏览的实际DB结构中移除(对我的沮丧!:)) 解决方法我是Red Gate的SQL Source Control和SQL Compare的产品经理.我们必须解决这个同样的问题,因为我们的工具需要知道数据库所在的版本,以便选择适当的迁移脚本来构建完整的部署脚本.我们考虑了一个版本表,这是最常用的本土解决方案.然而,从我们的研究中,我们了解到用户希望保持数据库对象的集合无污染,所以我们选择了数据库级扩展属性.我们将脚本添加到脚本中,如下所示: IF EXISTS (SELECT 1 FROM fn_listextendedproperty(N'SQLSourceControl Database Revision',NULL,NULL)) EXEC sp_dropextendedproperty N'SQLSourceControl Database Revision',NULL EXEC sp_addextendedproperty N'SQLSourceControl Database Revision',@RG_SC_VERSION,NULL 当数据库加载到SQL Compare中时,它会执行检查,以确保其声明的版本与存储在源代码控件中的版本相对应. 希望这可以帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |