还原 master 数据库时的注意事项

如果创建数据库备份后更改了 master 数据库,则那些更改在还原备份时将丢失。若要恢复这些更改,必须执行可以恢复已丢失更改的语句。例如,如果自执行备份后创建了一些 SQL Server 登录名,则这些登录在还原 master 数据库后会丢失。必须使用 SQL Server Management Studio 或创建登录名时使用的原始脚本,重新创建这些登录名。

只能从对 SQL Server 2008 实例创建的备份中还原 master 数据库。

注意注意

以前与丢失的登录相关的所有数据库用户都将成为孤立用户,也就是说他们将不能访问数据库。有关详细信息,请参阅孤立用户故障排除

还原 master 数据库后,SQL Server 实例将自动停止。如果需要进一步修复并希望防止多重连接到服务器,应以单用户模式启动服务器。否则,服务器会以正常方式重新启动。如果决定以单用户模式重新启动服务器,应首先停止所有 SQL Server 服务(服务器实例本身除外),并停止所有 SQL Server 实用工具(如 SQL Server 代理)。停止服务和实用工具可以防止它们尝试访问服务器实例。

在创建备份后重新构造所做的更改

如果还原 master 数据库备份后创建了用户数据库,则只有执行下列操作之一才能访问该用户数据库:

  • 附加数据库。我们建议使用此方法。

    附加数据库要求所有数据库文件均可用。我们建议指定日志文件和数据文件,而不是尝试使用附加操作重新生成一个或多个日志文件。

    有关如何附加数据库的信息,请参阅如何附加数据库 (SQL Server Management Studio)CREATE DATABASE (Transact-SQL)

  • 从一个或多个备份还原数据库。

    仅在数据库的数据文件或事务日志文件不再存在或不可用时,才能选择还原数据库。

附加或还原数据库将重新创建必要的系统表项,数据库变为可用并且其状态与 master 数据库还原之前的状态相同。

如果备份 master 数据库后删除了某些对象、登录名或数据库,则必须从 master 数据库中删除这些对象、登录名和数据库。

重要说明重要提示

如果有些数据库已不存在,但在还原的 master 数据库备份中引用了那些数据库,则 SQL Server 可能会由于找不到那些数据库而在启动时报告错误。还原备份后应删除那些数据库。

还原 master 数据库且重新应用任何更改之后,应立即备份 master 数据库。

以单用户模式启动 SQL Server 实例

如何启动 SQL Server 实例 (sqlservr.exe)

还原 master 数据库

附加数据库