示例:仅对某些文件组进行段落还原(完整恢复模式)

适用范围:SQL Server

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

段落还原顺序将从主文件组和所有读写辅助文件组开始,按文件组级别分阶段还原和恢复数据库。

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

数据库 B 的主文件组和文件组 adb 显示为已损坏。 主文件组很小,可以快速还原。 数据库管理员决定使用段落还原顺序还原这些文件组。 首先,还原主文件组和后续事务日志,并恢复数据库。

完好的文件组 AC 包含关键数据。 因此,接着对它们进行还原,以尽快使它们处于联机状态。 最后,还原和恢复损坏的辅助文件组 B

还原顺序:

注意

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

  1. 创建数据库 adb的结尾日志备份。 此步骤对于使完好文件组 AC 与数据库恢复点保持同步至关重要。

    BACKUP LOG adb TO tailLogBackup WITH NORECOVERY  
    
  2. 对主文件组进行部分还原。

    RESTORE DATABASE adb FILEGROUP='Primary' FROM backup   
    WITH PARTIAL, NORECOVERY  
    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 FROM tailLogBackup WITH RECOVERY  
    

    此时主文件组处于联机状态。 文件组 ABC 中的文件处于恢复挂起状态,这几个文件组则处于脱机状态。

  3. 对文件组 AC进行联机还原。

    由于这些文件组中的数据并没有损坏,因此不需要从备份中还原这些文件组,但需要恢复以使它们联机。

    数据库管理员立即恢复 AC

    RESTORE DATABASE adb FILEGROUP='A', FILEGROUP='C' WITH RECOVERY  
    

    此时,主文件组和文件组 A 以及 C 处于联机状态。 文件组 B 中的文件仍保持恢复挂起状态,而该文件组处于脱机状态。

  4. 对文件组 B进行联机还原。

在随后的任意时间还原文件组 B 中的文件。

注意

文件组 B 的备份是在该文件组成为只读以后进行的;因此,不需要前滚这些文件。

RESTORE DATABASE adb FILEGROUP='B' FROM backup WITH RECOVERY  

所有文件组现在都处于联机状态。

其他示例

另请参阅

BACKUP (Transact-SQL)
联机还原 (SQL Server)
应用事务日志备份 (SQL Server)
RESTORE (Transact-SQL)
段落还原 (SQL Server)