示例:主文件组和其他文件组的脱机还原(完整恢复模式)

本主题仅适用于包含多个文件组的完整恢复模式下的数据库。

在此示例中,名为 adb 的数据库包含三个文件组。 文件组 AC 读取/写入,文件组 B 为只读。 主文件组和文件组B已损坏,但文件组A和文件组C完好无损。 灾难发生之前,所有文件组都联机。

数据库管理员决定还原和恢复主文件组和文件组 B。 数据库正在使用完整恢复模式;因此,在还原开始之前,必须对数据库执行结尾日志备份。 当数据库联机时,文件组 AC 自动联机。

注释

脱机还原顺序的步骤少于只读文件的联机还原。 有关示例,请参阅示例:联机还原 Read-Only 文件(完整恢复模式)。 但是,整个数据库在序列的持续时间内处于脱机状态。

Tail-Log 备份

在还原数据库之前,数据库管理员必须备份日志的结尾。 由于数据库已损坏,因此创建结尾日志备份需要使用NO_TRUNCATE选项:

BACKUP LOG adb TO tailLogBackup   
   WITH NORECOVERY, NO_TRUNCATE  

结尾日志备份是在以下还原序列中应用的最后一个备份。

还原序列

若要还原主文件组和文件组 B,数据库管理员使用不带 PARTIAL 选项的还原序列,如下所示:

RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1   
WITH NORECOVERY  
RESTORE DATABASE adb FILEGROUP='B' FROM backup2   
WITH NORECOVERY  
RESTORE LOG adb FROM backup3 WITH NORECOVERY  
RESTORE LOG adb FROM backup4 WITH NORECOVERY  
RESTORE LOG adb FROM backup5 WITH NORECOVERY  
RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  

未还原的文件会自动上线。 所有文件组现在都处于联机状态。

另请参阅

联机还原(SQL Server)
碎片还原 (SQL Server)
文件还原(完整恢复模式)
应用事务日志备份 (SQL Server)
RESTORE (Transact-SQL)