`

BULK_LOGGED 模式下的日志备份

 
阅读更多

BULK_LOGGED 这种还原模式大家可能比较熟悉. 按照联机丛书的解释,


An adjunct of the full recovery model that permits high-performance bulk copy operations.Reduces log space usage by using minimal logging for most bulk operations.

这里提醒大家注意一下, 虽然BULK_LOGGED模式可以大量减少某些操作所记录的日志, 但是在日志备份的时候, 可能会生成比FULL模式下更大的日志备份, 以下是一个例子.



从结果可看出来, 现在日志文件有101MB, 其中有4%是使用的.




从结果可以看出, 在FULL的还原模式下, 重建索引, 会生成比较多的日志, 就这个例子,约有90MB.




备份事务日志, 可以看到备份了12422个页

以下测试还原模式为BULK_LOGGED时的情况.







从结果可以看出, 日志文件的使用率只多了大概2%, 比在FULL模式下的96% 少了很多. 这也就充分体现了选择这种还原模式所带来的好处.

但是此时试着备份以下日志文件, 看一下结果会怎么样.




从结果来看, 备份了15177个页, 比在FULL模式下的日志备份还要多一些.

这些页除了一些(281 pages)是在hp_log这个日志文件中, 还有大部分的是在其他几个数据文件中(hp, hp_data1,hp_data3, hp2_data1).

究其原因, 在BULK_LOGGED模式下做日志备份, 除了会备份日志, 还会把那些使用最小日志记录的操作所相关的数据页备份下来. 因为这些重建的索引分布在这几个数据文件里,所以从返回结果看,除了备份了日志, 还把各个数据文件中重建的索引页备份了下来. 另外如果数据库是在BULK_LOGGED的模式下, 发生了bulk-logged的操作, 这个时候备份出来的日志, 是不支持还原到指定时间点的, 只能将这个日志全部还原.

关于BULK_LOGGED模式下的备份, 请参考: http://msdn.microsoft.com/en-us/library/ms190692.aspx














分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics