维护数据库的类似副本

时间:2014-06-30 00:23:50

标签: sql-server sql-server-2008

我正在处理一个包含大量存储过程的项目(~1500)。这些存储过程中的大多数都包含USE" databaseName"声明随处散布。

问题:我目前正在处理的项目要求我维护两个版本的数据库。在一个版本中,我有一组不应更改的基本数据,我可以在需要时使用。在另一个版本中是来自第一个数据库的数据,以及对该数据的更改。

是否有人知道在给定时间更改使用哪个数据库的简单方法?

一种选择是以不同的名称备份和还原原始数据库。但是,这样做会破坏存储过程中的USE语句。我可以使用新名称替换存储过程中旧数据库名称的所有情况,但误报可能会导致问题。另一种选择是制作整个SQL Server实例的副本,并连接到该副本。通过在线搜索,这样做看起来就像是一个相当复杂的过程。

当然这是一个常见问题,我忽略了处理这个问题的简单方法?除了以上两个选项之外,我从互联网搜索中看不到任何东西。

1 个答案:

答案 0 :(得分:1)

这是一个常见问题,但它有一个共同的解决方案。保持不同的环境。通常你有DEV / TEST / PROD环境,并且你将你的应用程序指向你当时想要使用的任何一个(通常你从DEV> TEST> PROD移动)

你可以扩展“从在线搜索,这看起来像一个相当复杂的过程。” ?

这是我看到它的工作方式:

  1. 安装另一个SQL Server实例(甚至可以是免费版,SQL Express)。这只需要做一次
  2. 将您的替代数据集还原到此处
  3. 将您的应用指向它
  4. 困难的部分是建立一个访问困难环境的框架,并确保每个环境中的数据都符合您的要求。将应用程序指向不同的数据库服务器是否有任何限制?