我正在处理一个包含大量存储过程的项目(~1500)。这些存储过程中的大多数都包含USE" databaseName"声明随处散布。
问题:我目前正在处理的项目要求我维护两个版本的数据库。在一个版本中,我有一组不应更改的基本数据,我可以在需要时使用。在另一个版本中是来自第一个数据库的数据,以及对该数据的更改。
是否有人知道在给定时间更改使用哪个数据库的简单方法?
一种选择是以不同的名称备份和还原原始数据库。但是,这样做会破坏存储过程中的USE语句。我可以使用新名称替换存储过程中旧数据库名称的所有情况,但误报可能会导致问题。另一种选择是制作整个SQL Server实例的副本,并连接到该副本。通过在线搜索,这样做看起来就像是一个相当复杂的过程。
当然这是一个常见问题,我忽略了处理这个问题的简单方法?除了以上两个选项之外,我从互联网搜索中看不到任何东西。
答案 0 :(得分:1)
这是一个常见问题,但它有一个共同的解决方案。保持不同的环境。通常你有DEV / TEST / PROD环境,并且你将你的应用程序指向你当时想要使用的任何一个(通常你从DEV> TEST> PROD移动)
你可以扩展“从在线搜索,这看起来像一个相当复杂的过程。” ?
这是我看到它的工作方式:
困难的部分是建立一个访问困难环境的框架,并确保每个环境中的数据都符合您的要求。将应用程序指向不同的数据库服务器是否有任何限制?