本主题与包含只读文件组的简单恢复模式下的 SQL Server 数据库相关。
分块还原序列在文件组级别分阶段还原和恢复数据库,从主文件组和所有读/写辅助文件组开始。
在此示例中,名为 adb的数据库使用简单恢复模式,其中包含三个文件组。 文件组 A 是读/写的,文件组 B 和文件组 C 是只读的。 最初,所有文件组都处于联机状态。
数据库的主组和文件组Badb似乎已损坏;因此,数据库管理员决定使用逐段还原序列还原它们。 在简单的恢复模式下,必须从同一部分备份还原所有读/写文件组。 虽然文件组完好无损,但必须使用主文件组 A 进行还原,以确保它们一致(数据库将还原到最后一次部分备份结束时定义的时间点)。 文件组 C 完好无损,但必须恢复才能使其联机。 文件组 B虽然已损坏,但包含的严重数据少于 Filegroup C;因此, B 将最后还原。
还原序列
注释
联机还原序列的语法与脱机还原序列的语法相同。
从部分备份中部分还原主数据库和文件组
A。RESTORE DATABASE adb READ_WRITE_FILEGROUPS FROM partial_backup WITH PARTIAL, RECOVERY此时,主文件组和文件组
A处于联机状态。 文件组B和C中的文件处于恢复挂起状态,且文件组均处于脱机状态。文件组
C的联机恢复。文件组
C是一致的,因为上述还原的部分备份是在文件组C变为只读之后执行的,尽管数据库在还原时被及时收回。 数据库管理员在不还原文件组的情况下恢复文件组C,使其联机。RESTORE DATABASE adb FILEGROUP='C' WITH RECOVERY此时,主文件组和文件组
A和C处于联机状态。 文件组B 中的文件保持恢复挂起状态,文件组处于脱机状态。文件组的联机还原
B.文件组中
B的文件必须还原。 数据库管理员还原的是文件组B的备份,这个备份是在文件组B变为只读之后和部分备份之前进行的。RESTORE DATABASE adb FILEGROUP='B' FROM backup WITH RECOVERY所有文件组现在都处于联机状态。
其他示例
另请参阅
联机还原(SQL Server)
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
碎片还原 (SQL Server)