码迷,mamicode.com
首页 > 数据库 > 详细

SQL Server通过BOOT PAGE来进行Crash Recovery

时间:2015-08-31 00:58:49      阅读:311      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!