首页 > 数据库技术 > 详细

SQL Server通过BOOT PAGE来进行Crash Recovery

时间:2015-08-31 00:57:59      阅读:255      评论:0      收藏:0      [点我收藏+]

SQL Server通过BOOT PAGE来进行Crash Recovery

看了盖总的一篇文章

http://www.eygle.com/archives/2008/11/oracle_internals_preface.html

数据文件的第一个Block记录了重要的检查点、SCN等信息,这些信息在启动时要被读取,这里就是这样一种体现。

 

我们看一下SQL Server的情况,使用DBCC fileheader命令,10为我的一个用户库SSS的数据库ID

环境:SQL Server2012 64位

SELECT DB_ID(sss)

DBCC fileheader(10)

技术分享

技术分享

(图一)

技术分享

(图二)

技术分享

(图三)

 技术分享

(图四)

 

从上面的图大家应该发现一些规律

RecoveryForkLSN:Cash Recovery的时候需要调用的lsn,也是RedoStartLSN:27000000027100001
ReadOnlyLsn:只读模式数据库
ReadWriteLsn:读写模式数据库


技术分享

 

因为BOOTPAGE是每个数据库启动的第一个页面,启动的过程里面其实最重要也是最耗时就是数据库redo和undo过程

所以把Redo Start LSN放在BOOTPAGE也就不无道理了,数据库一启动马上就读取LSN信息,然后到LDF文件里读取日志

 

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

SQL Server通过BOOT PAGE来进行Crash Recovery

原文:http://www.cnblogs.com/lyhabc/p/4771979.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!