SQLServer恢复模型的海量日志恢复模型

你想知道为什么事务日志文件越来越大吗事务日志有时甚至比实际的数据库文件还要大,尤其是在应用数据仓库的情况下。为什么会出现这种情况呢你怎么控制它的尺寸数据库恢复模型如何控制事务日志的增长在这一系列文章中,我们将逐一给出答案。

质量日志恢复模式

大容量日志恢复模型和完整恢复模式是相似的,预计将有大量的数据修改操作(例如,选择插入,创建一个索引,选择,BCP,bulkinsert),可以减少在这种情况下,日志记录的数量,从而减少对性能的影响。但同时,你可能无法做任何恢复的时间。作为一个推荐的做法,批量日志恢复模式可与完整恢复模式一起使用。例如,你通常应该设置在常规操作的完整恢复模式,然后切换到批量日志恢复模式在大批量操作的情况下偶尔。最后,在大批量操作完成后,完整恢复模式返回。如果时间点的恢复是很重要的,我们强烈建议您切换回完整恢复模式后做事务日志备份。

类似的完整恢复模式下,事务日志文件将继续增长,所以你需要经常做事务日志备份。如果没有大规模操作,批量日志模式为完整恢复模式一样,你可以恢复到任意时间点,只要包含数据库的所有事务日志随后的变化记录。

优点:通过最小化某些事务的日志记录来优化大批量操作的性能。由于这些大数据量操作,事务日志不会显著增加。

缺点:如果日志损坏或大批量数据的最近一个日志备份操作后,有可能丢失数据。因此,改变自上次备份必须重做。

当采用:建议切换到大容量日志恢复模式偶尔的大数据量的操作,然后完成海量数据的操作后,切换到完整恢复模式。这样,你仍然可以恢复到任意时间点,但你的最后一个事务日志备份中不包含大量的数据业务,同时,它可以最大限度地减少海量数据日志操作量。

需要注意的是,日志记录最小仅指记录需要恢复交易的重要信息,没有时间点恢复的支持。在最小化的日志的情况下,事务日志是基于大容量变化图(MCP)页面的每个变化做大量数据的更改记录页轨迹不是日志,数据库日志会变小,但是当你备份事务日志,它包括所有更改网页,所以即使是很小的事务日志,事务日志备份也可能大于它。

大容量日志恢复模式bulk_logged恢复模型


虽然完全记录其他事务,但大容量日志恢复模型最低限度地记录了批量操作。大容量日志恢复模型防止媒体失败,对于批量操作(BCP、批量插入、选择),提供最佳性能和最小日志空间使用。
大容量日志恢复模式会增加这些大容量复制操作丢失数据的风险,因为大容量日志操作阻止夺回的变化对交易的。如果日志备份包含任何大容量日志操作,则不能在日志备份中恢复到某个时间点,只能还原整个日志备份。
体积变化图(BCM)的轨道已被修改的程度

如果使用大容量日志恢复模型,只需修改数据的详细信息



尾日志备份

如果数据库使用的是大量日志恢复模型,事务日志包含最小记录的事务,则包含修改页的数据文件也必须可用。如果这些数据文件不可用,您将无法备份事务日志的尾部。这是使用大容量日志恢复模型时需要考虑的另一个问题。
不过,请注意使用大容量日志恢复模式的情况,并从以下两个方面收集了。

大容量日志恢复模式的工作原理

与完整恢复模式相比(完全记录所有的交易),大容量日志恢复模式只记录最小运行大容量操作(尽管它会完全记录其他事务),大容量日志恢复模式保护大容量操作从媒体故障的危害,提供了最佳的性能和占用最小的日志空间。



但是,大容量日志恢复模式增加这些大容量复制操作的数据丢失的风险,因为大容量日志操作,防止更改每个交易再次捕获。如果日志备份包含大容量日志操作,它不能恢复到日志备份的时间点,但只整个日志备份恢复。



在大容量日志恢复模式下,如果日志备份包含大容量日志备份操作,包括日志记录、大容量操作改变的数据页。这是捕获大容量日志操作结果的关键。合并后的数据区进行日志备份非常大。此外,备份日志需要访问含大容量日志交易数据文件。如果任何受影响的数据库文件无法访问,事务日志将不备份,所有的操作在这个日志提交将丢失。

To track data pages, log backup operations depend on the large capacity changes of the bitmap pages, and the bitmap pages contain one bit for each area.Each bit is set to 1 per bit in the bitmap for each area updated by the large volume log operation since the last log backup.The data area will be copied to the log, followed by the log data.The following figure shows how the log backup is constructed.





重要提示:

在完整或大容量日志恢复模式下,如果没有其他因素的日志记录保持活跃,自动检查点会切断未使用部分事务日志时第一次完整备份完成。第一次完整备份后,它被截断需要备份事务日志截断延迟因素。有关信息,是指可能延迟日志截断的因素。