选择数据库恢复模式

简单恢复模式一般适合用于测试或开发数据库。但是,对于生产数据库,最佳选择通常是完整恢复模式,还可以选择大容量日志恢复模式作为补充。但简单恢复模式有时也适合小型生产数据库(尤其是当其大部分或完全为只读时)或数据仓库使用。

若要为特定数据库确定最佳恢复模式,应考虑数据库的恢复目标和要求以及是否可对日志备份进行管理。

注意注意

新的数据库可继承 model 数据库的恢复模式。

确定恢复目标和要求

若要为数据库选择最合适的恢复模式,请考虑数据库的恢复目标和要求。回答下列问题可以帮助您确定可用性要求和对数据丢失的敏感度。

恢复要求

  • 不丢失任何更改的重要程度如何?

  • 重新创建丢失的数据的难易程度如何?

  • 是否有两个或两个以上的数据库在逻辑上必须保持一致?

    如果有,请考虑使用 Microsoft 分布式事务处理协调器 (MS DTC) 事务。有关详细信息,请参阅MS DTC 分布式事务

    注意注意

    在完整恢复模式下,如果已在每个相关的数据库中对事务进行了标记,则可以将数据库恢复到同一点。这要求还原的每个数据库具有与各自恢复点相同的事务标记。但是,使用标记作为恢复点将丢失在该点之后提交的所有事务。有关详细信息,请参阅使用标记的事务(完整恢复模式)

员工因素

单位是否雇用系统或数据库管理员?如果没有,那么由谁负责执行备份和恢复操作,如何对他们进行培训?

数据使用模式

请针对每个数据库考虑下列问题:

  • 数据库中的数据多长时间更改一次?

  • 是否有些表明显比其他表修改频繁?

  • 是否有关键生产周期?如果有,那么在这些周期中的使用模式是怎样的?数据库是否会经历插入操作和其他更新操作的高峰期?

    您可能需要计划在非高峰期进行数据备份。当大量使用 I/O 系统时,通常只需使用日志备份。

  • 数据库是否会遇到可能无法立即检测到的危险更新或应用程序错误?

    如果数据库会遇到这些情况,请考虑使用完整恢复模式。这让您可以使用日志备份将数据库恢复到特定时间点。

何时使用简单恢复模式

如果符合下列所有要求,则使用简单恢复模式:

  • 不需要故障点恢复。如果数据库丢失或损坏,则会丢失自上一次备份到故障发生之间的所有更新,但您愿意接受这个损失。

  • 您愿意承担丢失日志中某些数据的风险。

  • 您不希望备份和还原事务日志,希望只依靠完整备份和差异备份。

有关详细信息,请参阅简单恢复模式下的备份

何时使用完整恢复模式

如果符合下列任一要求,则使用完整恢复模式(还可以选择使用大容量日志恢复模式):

  • 您必须能够恢复所有数据。

  • 数据库包含多个文件组,并且您希望逐段还原读/写辅助文件组(以及可选地还原只读文件组)。

  • 您必须能够恢复到故障点。

  • 您希望可以还原单个页。

  • 您愿意承担事务日志备份的管理开销。

有关详细信息,请参阅在完整恢复模式下备份

何时使用大容量日志恢复模式

大容量日志恢复模式旨在严格作为完整恢复模式的附加补充。我们建议您仅在运行大规模大容量操作期间以及在不需要数据库的时点恢复时使用该模式。

  • 数据库是否会发生周期性的数据库大容量操作?

    在该恢复模式下,多数大容量操作仅进行最小日志记录。如果使用完整恢复模式,则可以在执行此类大容量操作前临时切换到大容量日志恢复模式。有关在大容量日志恢复模式下对哪些操作进行最小方式记录的信息,请参阅可以尽量减少日志量的操作

    通常,大容量日志恢复模式与完整恢复模式相似,只是它按最小方式记录多数大容量操作。事务日志备份捕获日志以及自上次备份后已完成的所有按最小方式记录的操作结果。这会使日志备份非常大。因此,大容量日志恢复模式仅适合在能够以最小方式记录操作的大容量操作期间使用。我们建议在其余时间使用完整恢复模式。当完成一组大容量操作后,我们建议您立即切换回完整恢复模式。

有关大容量日志恢复模式(包括它的限制)的详细信息,请参阅在大容量日志恢复模式下备份

有关差异恢复模式支持的还原操作的详细信息,请参阅 还原与恢复概述 (SQL Server)

查看和更改数据库的恢复模式

新的数据库可继承 model 数据库的恢复模式。model 数据库的默认恢复模式取决于 SQL Server 的版本。但是,任何对数据库具有 ALTER 权限的人都能够更改此模式。有关如何查看 model 数据库的当前恢复模式的信息,请参阅如何查看或更改数据库的恢复模式 (SQL Server Management Studio)

查看或更改数据库的恢复模式

切换恢复模式