示例:读/写文件的联机还原(完整恢复模式)

本主题与完整恢复模式下包含多个文件或文件组的 SQL Server 数据库相关。

在此示例中,名为 adb 的数据库(使用完整恢复模式)包含三个文件组。文件组 A 为读/写文件组,而文件组 B 和文件组 C 是只读的。最初,所有文件组都处于联机状态。

文件组 A 中的文件 a1 似乎已损坏,数据库管理员决定在数据库处于联机状态时还原该文件。

注意注意

在简单恢复模式下,不允许联机还原读/写数据。

还原顺序

  1. 联机还原文件 a1。

    RESTORE DATABASE adb FILE='a1' FROM backup 
    WITH NORECOVERY;
    

    此时,文件 a1 处于 RESTORING 状态,文件组 A 处于脱机状态。

  2. 完成文件还原之后,数据库管理员进行新的日志备份以确保捕获到该文件脱机时的点。

    BACKUP LOG adb TO log_backup3; 
    
  3. 联机还原日志备份。

    管理员还原自从还原了文件备份后一直到获得最新日志备份(在步骤 2 中创建的 log_backup3)所进行的所有日志备份。还原最后一个备份之后,应当恢复数据库。

    RESTORE LOG adb FROM log_backup1 WITH NORECOVERY;
    RESTORE LOG adb FROM log_backup2 WITH NORECOVERY;
    RESTORE LOG adb FROM log_backup3 WITH NORECOVERY;
    RESTORE LOG adb WITH RECOVERY;
    

    文件 a1 现处于联机状态。