Sqlserver CheckPoint 在三种恢复模式中的不同表现

Sqlserver的恢复模式包括 简单恢复模式,大容量日志模式和完整恢复模式

当我们执行checkpoint的时候,实际是将缓存中的数据页数据更新到数据文件中。

而对于日志文件的改变又是如何表现的呢,我们一起通过实例看一下。

首先我们创建一个数据库(建库脚本省略)

设置数据库为简单恢复模式 添加五条记录

alter database dbtrain set recovery simple

insert into test values(1,‘wwww‘)

go 5

再执行 DBCC log(‘DBTRain‘,2) 会看到当前活动日志的信息

如果再执行

checkpoint

DBCC log(‘DBTRain‘,2)

会看到日志被截断,只剩下checkpoint操作的日志记录

如果更换成完整恢复模式和大容量日志模式

alter database dbtrain set recovery full/bulk_logged

重复上面的动作会发现日志仍然被截断,这就让人很疑惑了。

原因就是因为我们是新创建的数据库,没有进行一次完整的备份,

在做备份之前还原模式就是简单,不管你怎么设置的。

如果不做完全备份的话保留事务日志是没有意义的。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。