从备份还原时,是否将源数据库的数据库状态移到新数据库上?

时间:2019-03-27 10:21:33

标签: sql-server database database-administration database-backups

简要背景信息

我们正在一个关键的生产环境中将数据库从Windows Server 2012迁移到2016,并且遇到问题,还原完成后新服务器上的数据库设置为Restricted user

这是完成任务的顺序:

  1. 2012数据库已手动设置为受限用户
  2. 备份是从2012数据库开始的
  3. 在第2步中使用备份还原2016数据库
  4. 不希望将2016 db设置为restricted user

我们首先在restricted user中设置2012数据库的原因是在设置2016数据库时强制登录用户进入备用环境。

正在执行此备份和还原的团队声称,备份中还包括数据库状态,这就是还原完成后立即将新数据库设置为restricted user的原因。

将新数据库设置为restricted user并不是一个大问题,因为可以手动将其更改回multi user,但是由于这种环境具有如此关键的性质,我们不想冒着使我们的用户不再需要备份系统的风险

所以这是实际的问题:

从备份还原数据库时,数据库状态是否包含在备份中并带到新还原的数据库中?如果是这样,有可能排除这种情况吗?

提前谢谢! :)

1 个答案:

答案 0 :(得分:2)

RESTORE documentation指出:

  

还原期间,可使用以下命令设置的大多数数据库选项   结束时将ALTER DATABASE重置为有效值   备份。

因此,如果源数据库位于RESTRICTED_USER中,则在还原期间数据库将被设置为该模式。但是,如果源数据库是用其他选项备份的,则可以在还原期间指定WITH RESTRICTED_USER选项,以将还原的数据库设置为RESTRICTED_USER

但是没有RESTORE选项可以指定WITH MULTI_USER,因此您需要在ALTER DATABASE之后执行RESTORE才能更改选项。