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模式下更大的日志备份, 以下是一个例子.

USE hp; --修改还原模式为FULL ALTER DATABASE hp SET RECOVERY FULL --做完全备份, 为日志备份提供基准 BACKUP DATABASE hp TO DISK = 'c:\hp_back.bck' --查看日志文件利用率 DBCC SQLPERF(LOGSPACE)


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


--重建日志 DBCC DBREINDEX ('dbo.students',test_index,80); GO DBCC DBREINDEX ('dbo.students',au_id_clidx,80); GO DBCC DBREINDEX ('dbo.students',students_name,80); GO --查看日志文件利用率 DBCC SQLPERF(LOGSPACE)



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


--备份日志文件 BACKUP LOG hp TO DISK = 'c:\hp_log_full.trn'



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

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

--将还原模式修改为BULK_LOGGED ALTER DATABASE hp SET RECOVERY BULK_LOGGED --查看日志文件利用率 DBCC SQLPERF(LOGSPACE)





--重建索引 DBCC DBREINDEX ('dbo.students',test_index,80); GO DBCC DBREINDEX ('dbo.students',au_id_clidx,80); GO DBCC DBREINDEX ('dbo.students',students_name,80); GO --查看日志文件利用率 DBCC SQLPERF(LOGSPACE)



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

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

--备份日志文件 BACKUP LOG hp TO DISK = 'c:\hp_log_bulk.trn'



从结果来看, 备份了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














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值