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

适用于:SQL Server

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

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

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

注意

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

还原顺序

联机还原顺序的语法与脱机还原顺序的语法完全相同。

  1. 联机还原文件 a1

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

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

  2. 文件还原之后,请进行新的日志备份以确保捕获到该文件脱机时的点。

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

    自从还原了文件备份后一直到获得最新日志备份(在上一步中执行的 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 DATABASE adb WITH RECOVERY;
    

    文件 a1 现处于联机状态。

其他示例