从备份恢复时,源数据库的数据库状态是否从新数据库转移过来?

Is database state from source db brought over the the new db when restoring from backup?

简要背景信息

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

这是事情完成的顺序:

  1. 2012 db 手动设置为受限用户
  2. 备份自 2012 db
  3. 2016 db 在步骤 2 中使用备份恢复
  4. 2016 db 不情愿地设置为 restricted user

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

进行此备份和恢复的团队声称数据库状态也包含在备份中,这就是恢复完成后新数据库设置为 restricted user 的原因。

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

所以这是实际问题:

从备份还原数据库时,数据库状态是否包含在备份中并带到新还原的数据库中?如果是这样,是否可以排除这一点?

提前致谢! :)

RESTORE documentation 状态:

During a restore, most of the database options that are settable using ALTER DATABASE are reset to the values in force at the time of the end of backup.

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

但是没有RESTORE选项来指定WITH MULTI_USER所以你需要在RESTORE之后执行ALTER DATABASE来改变选项。