【问题标题】:Is database state from source db brought over the the new db when restoring from backup?从备份还原时,源数据库中的数据库状态是否会带入新数据库?
【发布时间】:2019-03-27 10:21:33
【问题描述】:

背景简介

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

这是完成的顺序:

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

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

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

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

所以这是实际的问题:

从备份恢复数据库时,数据库状态是否包含在备份中并被带到新恢复的数据库中?如果是这样,是否可以排除这种情况?

提前致谢! :)

【问题讨论】:

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


    【解决方案1】:

    RESTORE documentation 声明:

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

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

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

    【讨论】:

    • 感谢您的回答!只是出于好奇提出的问题。你知道为什么可以添加with restricted_user 而不是with multi_user吗?
    • @wenzzzel,我怀疑RESTRICTED_USER 已实现,因为它是更常见的RESTORE 用例,从MULTI_USER 中的备份恢复。这允许在切换回MULTI_USER 之前验证数据库。考虑提交SQL Server product feedback suggestion 以允许MULTI_USERSINGLE_USER 也。
    • 有道理
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多