RESTORE流程是否依赖于架构?

Mar*_*nek 4 sql-server backup schema restore

假设我有两个数据库实例:

InstanceA - Production server
InstanceB - Test server  
Run Code Online (Sandbox Code Playgroud)

我的工作流程是首先部署新的架构更改InstanceB,测试它们,然后将它们部署到InstanceA.

因此,在任何时候,实例架构关系如下所示:

InstanceA - Schema Version 1.5
InstanceB - Schema Version 1.6 (new version being tested)
Run Code Online (Sandbox Code Playgroud)

我的工作流程的另一部分是尽可能保持数据的InstanceB新鲜.为了实现这一点,我正在进行数据库备份InstanceA并将它们应用(恢复它们)InstanceB.

我的问题是,架构版本如何影响恢复过程?

我知道我可以这样做:

Backup InstanceA - Schema Version 1.5
Restore to InstanceB - Schema Version 1.5
Run Code Online (Sandbox Code Playgroud)

但我可以这样做吗?

Backup InstanceA - Schema Version 1.5
Restore to InstanceB - Schema Version 1.6 (new version being tested)
Run Code Online (Sandbox Code Playgroud)

如果不是,失败会是什么样子?

如果是,那么架构变更的类型是否重要?

例如,如果Schema Version 1.6从不同Schema Version 1.5的只是具有改变storec PROC,我想,这种类型的架构更改的should't影响restoral过程.另一方面,如果Schema Version 1.6不同于Schema Version 1.5具有不同的表定义(例如,附加列),我想象这将影响恢复过程.

我希望我已经说清楚了.

提前感谢任何输入!

cod*_*eim 8

不,恢复不会查看架构,它只是按原样恢复数据文件,因此您将在恢复后最终使用架构1.5.它将覆盖已存在的任何内容.

您最好先进行数据刷新还原,然后应用1.6架构更改.

  • 这就是为什么我们在脚本中执行所有操作(甚至是测试记录或登录或查找值的数据输入)并将其保存在源代码管理中的原因之一.使用prod数据(我们经常这样做)恢复dev之后很容易运行尚未部署到prod的所有脚本. (2认同)