Ben*_*ter 6 sql sql-server sql-server-2005 sql-server-2008-r2
Backround:我的生产环境中运行了多个版本的应用程序.根据使用的用户帐户,用户可以访问不同版本的软件.
环境:目前SQL Server 2005,即将迁移到SQL Server 2008,ASP.Net
问题:每个版本的软件可能会也可能不会使用与数据库中的数据交互的不同版本的存储过程.当前更改版本时,无论谁更改版本都会创建新副本并在末尾附加增量版本号.在这一点上,我们有一些存储过程的许多版本,只有一个版本的其他版本,没有人确定哪个版本的应用程序指向哪个版本的存储过程 - 这是一个烂摊子.
我正在寻找一种解决方案,它可以将应用程序的任何给定版本的存储过程整齐地打包,以用作新版本的基础.这意味着应用程序的新版本可以指向新的proc集合,可以将其重写或修改为最终用户的内容,而不会影响当前可用于生产的其他应用程序版本.
我最初考虑过模式,但问题的一部分是procs与其他procs和用户定义的函数紧密耦合,所以当复制到另一个模式时,我们新来映射并替换所有这些不理想的链接.
看来这是一个应该已经解决的问题,但我不知道我在寻找什么是可行的解决方案.
有没有人有任何想法?
假设版本之间不存在向后不兼容的架构和数据更改,我会将所有应用程序逻辑移至应用程序代码中。一旦掌握了这一点,您就可以使用丰富的现有版本控制技术来部署应用程序的多个版本,这些版本都指向同一个数据库。
在许多情况下,尝试对存储过程进行版本控制是徒劳的,因为在大多数RDBM 系统中根本不需要访问代码。一般来说,存储过程被认为是一个潜在的好主意,而不仅仅是没有成功。
| 归档时间: |
|
| 查看次数: |
762 次 |
| 最近记录: |