在完整恢复模式下备份

更新日期: 2006 年 7 月 17 日

完整恢复模式使用日志备份在最大范围内防止出现故障时丢失数据,这种模式需要备份和还原事务日志(“日志备份”)。 使用日志备份的优点是允许您将数据库还原到日志备份内包含的任何时点(“时点恢复”)。 假定可以在发生严重故障后备份活动日志,则可将数据库一直还原到没有发生数据丢失的故障点处。 使用日志备份的缺点是它们需要使用存储空间并会增加还原时间和复杂性。

ms190217.note(zh-cn,SQL.90).gif注意:
如果使用日志备份获得的益处无法弥补备份管理工作带来的成本,则建议您使用简单恢复模式

对于定期使用完整恢复模式的数据库,可以通过暂时使用大容量日志恢复模式来优化某些大容量操作。 大容量日志恢复模式会带来多种限制,因此不适合用于日常使用。 有关详细信息,请参阅在大容量日志恢复模式下备份

备份策略示例

下图显示了在完整恢复模式下的最简单的备份策略。 在此图中,已完成了数据库备份 Db_1 以及两个例行日志备份 Log_1 和 Log_2。 在 Log_2 日志备份后的某个时间,数据库出现数据丢失。 在还原这三个备份前,数据库管理员必须备份活动日志(日志尾部)。 然后还原 Db_1、Log_1 和 Log_2,而不恢复数据库。 接着数据库管理员还原并恢复尾日志备份 (Tail)。 这将把数据库恢复到故障点,从而恢复所有数据。

还原完整恢复模式数据库

最大程度地降低工作丢失的风险

在第一个完整数据库备份完成并且常规日志备份开始之后,潜在的工作丢失风险的存在时间仅为数据库损坏时以及执行最新的常规日志备份时。 因此,建议经常执行日志备份,以将工作丢失的风险限定在业务要求所允许的范围内。

出现故障后,可以尝试备份“日志尾部”**(尚未备份的日志)。 如果尾日志备份成功,则可以通过将数据库还原到故障点来避免任何工作丢失。

可以使用一系列日志备份将数据库前滚到其中一个日志备份中的任意时点。 若要最大程度地降低风险,建议安排例行日志备份。 请注意,为了最大程度地缩短还原时间,可以对相同数据进行一系列差异备份以补充每个完整备份。

下图显示的备份策略使用差异数据库备份及一系列例行日志备份来补充完整数据库备份。 使用事务日志备份可缩短潜在的工作丢失风险的存在时间,使该风险仅在最新日志备份之后存在。 在第一个数据库备份完成后,会接着进行三个差异数据库备份。 第三个差异备份很大,足以使下一个备份成为完整数据库备份。 该数据库备份将成为新的差异基准。

完整数据库备份和差异数据库备份及日志备份

在此图中的第一个数据库备份创建之前,数据库存在潜在的工作丢失风险(从时间 t0 到时间 t1)。 该备份建立之后,例行日志备份将工作丢失的风险降为丢失自最近日志备份之后所做的更改(在此图中,最近备份的时间为 t14)。 如果发生故障,则数据库管理员应该立即尝试备份活动日志(日志尾部)。 如果此“尾日志备份**”成功,则数据库可以还原到故障点。

大容量操作和完整恢复模式

通过记录所有操作(包括大容量操作,如 SELECT INTO、CREATE INDEX)和大容量加载数据,可以使用完整恢复模式将数据库恢复到故障点或某个较早的时点(称为“时点还原”**)。

在大容量加载数据和提高性能超过可能的数据丢失风险时,许多使用完整恢复模式的用户会临时切换到大容量日志恢复模式。 大容量日志恢复模式按最小方式记录大容量操作(尽管会完整记录其他事务)。 有关大容量日志恢复模式的详细信息,请参阅在大容量日志恢复模式下备份

ms190217.note(zh-cn,SQL.90).gif注意:
在 SQL Server 2000 和更高版本中,使用 sp_dboptionselect into/bulkcopy 数据库选项将恢复模式重置为 BULK_LOGGED。 在 SQL Server 2000 中,必须通过此选项使用 SELECT INTO 创建永久表。 但在 SQL Server 2005 中,从不需要此选项,因此应避免使用。 应当改用 ALTER DATABASE。 在 SQL Server 以后的版本中,将删除 sp_dboption 存储过程。

使用备份还原数据库

还原数据库的过程需要一个还原操作顺序(“还原顺序”**)。 还原顺序从至少还原一个完整备份开始,后面可跟对应的差异备份。

每个完整备份和差异备份包含的日志记录刚好足够用来恢复数据库。 但通常需要按顺序还原后续的日志备份,并以尾日志备份结束(如果有)。 因此,开始还原数据库之前,必须创建一个尾日志备份。 尾日志备份允许您将数据库还原到故障点。 还原上一个日志备份时,必须恢复数据库。

ms190217.note(zh-cn,SQL.90).gif注意:
在完整恢复模式或大容量日志恢复模式下,SQL Server 2005 Enterprise Edition 支持在数据库处于在线状态的情况下还原文件和/或页面。 这称为“在线还原”。 无论数据库处于离线还是在线状态,还原文件或页面的 RESTORE 语法都相同。

有关详细信息,请参阅SQL Server 中的还原与恢复概述

请参阅

概念

备份设备
使用标记的事务(完全恢复模式)
SQL Server 中的还原与恢复概述
从完整恢复模式或大容量日志恢复模式进行切换的注意事项

其他资源

了解和管理事务日志
使用差异备份

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2006 年 7 月 17 日

更改的内容:

2005 年 12 月 5 日

更改的内容:
  • 合并了以前的“完整恢复概述”主题。
  • 添加了一个图。