添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

发生灾难恢复时,数据库还原到的 master 实例应尽可能与原始实例完全匹配。 此恢复实例至少应具有与原始实例相同的版本和修补程序级别,并且应具有与原始实例相同的功能选择和相同的外部配置(主机名、群集成员身份等)。 否则,可能会导致未定义的 SQL Server 实例行为,功能支持不一致,并且不能保证其可行。

还原 master 数据库

  • 在单用户模式下启动服务器实例。

    可以使用 或 -f 启动参数启动SQL Server -m 。 有关启动参数的详细信息,请参阅 数据库引擎服务启动选项

    在命令提示符下运行以下命令,并确保将 替换为 MSSQLXX.instance 相应的文件夹名称:

    cd C:\Program Files\Microsoft SQL Server\MSSQLXX.instance\MSSQL\Binn
    sqlservr -c -f -s <instance> -mSQLCMD
    
  • 参数-mSQLCMD确保只有 sqlcmd 可以连接到SQL Server。
  • 对于默认实例名称,请使用 -s MSSQLSERVER
  • -c启动SQL Server作为应用程序绕过服务控制管理器以缩短启动时间
  • 如果SQL Server实例由于数据库损坏master而无法启动,必须先重新生成系统数据库。 有关详细信息,请参阅 重新生成系统数据库

  • 从另一个命令提示符窗口使用 SQLCMD 连接到SQL Server

    SQLCMD -S <instance> -E -d master
    
  • 若要还原 master 的完整数据库备份,请使用以下 RESTORE DATABASETransact-SQL 语句:

    RESTORE DATABASE master FROM  <backup_device>  WITH REPLACE
    

    REPLACE 选项指示 SQL Server 即使已经存在同名数据库也要还原指定的数据库。 现有的数据库(如果存在)被删除。 在单用户模式下,建议在 sqlcmd 实用工具中输入 RESTORE DATABASE 语句。 有关详细信息,请参阅 使用 sqlcmd 实用工具

    在还原 master 后, SQL Server 实例会关闭,并终止 sqlcmd 进程。 在重新启动服务器实例之前,请删除单用户引导参数。 有关详细信息,请参阅配置服务器启动选项(SQL Server 配置管理器)

  • 通常以服务的形式重启服务器实例,而无需使用任何启动参数。

  • 继续执行其他恢复步骤,例如还原其他数据库、附加数据库和更正用户不匹配。

    下面的示例将在默认服务器实例上还原 master 数据库。 该示例假定服务器实例是在单用户模式下运行。 该示例启动 sqlcmd 并执行 RESTORE DATABASE 语句,以便从磁盘设备 master 还原 Z:\SQLServerBackups\master.bak的完整数据库备份。

    对于命名实例, sqlcmd 命令必须指定 -S<ComputerName>\<InstanceName> 选项。

    C:\> sqlcmd  
    1> RESTORE DATABASE master FROM DISK = 'Z:\SQLServerBackups\master.bak' WITH REPLACE;  
    

    完整数据库还原(简单恢复模式)
    完整数据库还原(完整恢复模式)
    孤立用户故障排除 (SQL Server)
    数据库分离和附加 (SQL Server)
    重新生成系统数据库
    数据库引擎服务启动选项
    SQL Server 配置管理器
    系统数据库的备份和还原 (SQL Server)
    RESTORE (Transact-SQL)

  • 在单用户模式下启动 SQL Server
  •