计划和执行还原顺序(完整恢复模式)

 本主题适用于通常使用完整恢复模式的 SQL Server 数据库。

“还原顺序”是一个或多个 RESTORE 语句的顺序。通常,还原顺序会初始化要还原的数据库、文件和/或页的内容(数据复制阶段),前滚记录的事务(重做阶段)以及回滚未提交的事务(撤消阶段)。有关这些阶段的详细信息,请参阅了解 SQL Server 中备份的还原和恢复工作方式

注意注意

有关备份类型的介绍,请参阅 备份概述 (SQL Server)

在简单情况下,还原操作只需要一个完整数据库备份、一个差异数据库备份和后续日志备份。在这些情况下,很容易构造一个正确的还原顺序。例如,若要将整个数据库还原到故障点,请首先备份活动事务日志(日志的“尾部”)。然后,按备份的创建顺序还原最新的完整数据库备份、最新的差异备份(如果有)以及所有后续日志备份。

在更复杂的情况下,构造一个正确的还原顺序可能是个复杂的过程。例如,还原顺序可能需要多个文件备份,或者需要将数据还原到特定时间点。在非常复杂的情况下,您甚至可能需要遍历跨一个或多个恢复分叉的分叉恢复路径

计划还原顺序

启动还原顺序之前,请执行下列步骤:

  1. 创建数据库的结尾日志备份(如果可以)。有关详细信息,请参阅结尾日志备份

  2. 确定目标恢复点。

    目标恢复点可以是事务日志备份中的任何时间点或标记。有关详细信息,请参阅将数据库还原到备份中的某个时间点使用标记的事务(完整恢复模式)

  3. 确定要执行的还原类型。有关详细信息,请参阅下列主题:

  4. 标识您需要的备份,并确保必要的媒体集和备份设备可用。有关详细信息,请参阅在 SQL Server 中使用备份媒体

执行还原顺序

若要执行还原顺序,请执行下列步骤:

  1. 若要启动该顺序,请还原一个或多个数据备份(例如数据库备份、部分备份、一个或多个文件备份)。

  2. 也可以还原基于这些完整备份的最新差异备份。

    对于计划还原的每个完整备份,确定它是否是任何差异备份的基础。如果是,还原最新的差异备份(如果可以)。有关详细信息,请参阅使用差异备份

  3. 通过按顺序还原日志备份、完成包含恢复点的备份来前滚数据库。是否必须应用所有日志备份取决于日志备份包含什么样的目标恢复点,如下所示:

    • 如果恢复点是故障点,则必须还原自上一次还原数据(完整或差异)备份以来创建的所有日志备份。有关详细信息,请参阅应用事务日志备份

    • 对于时点还原,您可能不需要最新的日志备份。有关详细信息,请参阅时点还原

重新启动还原顺序

如果还原顺序的结果有问题,则可以退出,并从头开始重新启动还原顺序。例如,如果意外还原了过多的日志备份并超过了想要的恢复点,则必须重新开始还原顺序,直至包含目标恢复点的日志备份。