以文本方式查看主题 - 安易免费财务软件交流论坛 (http://bbs.anyicw.com/bbs/index.asp) -- 电脑知识交流 (http://bbs.anyicw.com/bbs/list.asp?boardid=11) ---- SQL Server 2008存储结构之PFS结构 (http://bbs.anyicw.com/bbs/dispbbs.asp?boardid=11&id=32406) |
||||||||||||||||
-- 作者:炙天 -- 发布时间:2011/1/13 8:51:12 -- SQL Server 2008存储结构之PFS结构 PFS(Page Free Space),也叫页面自由空间,该页面用来跟踪一个文件中每一个特定的页面的利用率情况。一个文件中第二个页面(页码1)就是PFS页面,该页面的每个 字节都记录了相应页面的分配情况、页面类型、是否IAM页、是否包含删除记录、以及空间利用率信息;PFS能够管理和跟踪8088个页面的使用情况,即接 近64M的空间,以后每8088个页面将再出现一次。 让我们首先了解一下PFS的页面管理字节的构造,管理单位为字节,每字节管理一个页面。
第0个bit为保留字节,始终为0 第1个bit表示该页面是否已分配,我们知道GAM页用来管理区是否已分配,但一个区包含8个页面,所以用该bit用来准确定位该区的某个页面是否已分配出去了。 第2个bit表示该页面是否混合分区的一个页面。 第3个bit表示该页面是否是一个IAM页面。 第4个bit表示该页面中是否包含幻影或已删除记录,这有助于SQL Server定期清理幻影或已删除记录。 第5~7个页面表示该页面的空间使用率情况。 • 0:表示该页面为空 我们可以用dbcc page(testdb,1,1,2)来看一下PFS的页面结构,BUFFER和PAGE HEADER再次就不做详述了,PFS关于页面分配的信息是从第100个字节开始的,最后四个字节为系统保留字节,总计管理8088页。 其中头四页均为44,换算成2进制即0100 0100,即为未分配(大概为保留页的缘故),且为已分配完成的混合区或统一类型区,非IAM页,且无幻影记录,空间利用率96~100%。 <style type="text/css"></style> |