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

 本主题与采用简单恢复模式并包含只读文件组的 SQL Server 数据库相关。

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

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

数据库 adb 的主文件组和文件组 B 显示为已损坏;因此数据库管理员决定使用段落还原顺序还原这些文件组。在简单恢复模式下,所有读/写文件组都必须从同一个部分备份还原。尽管文件组 A 未损坏,但它也必须随主文件组一起还原,以确保它们保持一致(数据库将还原到在上一次部分备份结束时定义的时点)。文件组 C 未损坏,但必须对其进行恢复才能使其联机。尽管文件组 B 已损坏,但它包含的关键数据比文件组 C 包含的关键数据要少;因此将最后还原 B。

还原顺序

  1. 从部分备份中部分还原主文件组和文件组 A。

    RESTORE DATABASE adb READ_WRITE_FILEGROUPS FROM partial_backup 
    WITH PARTIAL, RECOVERY
    

    此时,主文件组和文件组 A 处于联机状态。文件组 B 和 C 中的文件处于恢复挂起状态,而文件组处于离线状态。

  2. 文件组 C 的联机还原。

    文件组 C 处于一致状态,这是因为,尽管数据库已通过还原及时恢复,但上面还原的部分备份是在文件组 C 成为只读文件组后进行的。数据库管理员将恢复文件组 C(但不会还原该文件组)以使其联机。

    RESTORE DATABASE adb FILEGROUP='C' WITH RECOVERY
    

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

  3. 文件组 B 的联机还原。

    必须还原文件组 B 中的文件。数据库管理员在文件组 B 变为只读文件组之后,且在进行部分备份之前还原文件组 B 的备份。

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

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