| 
 | 
	
 
在sql2005中执行以下语句: 
 dbcc traceon(3604) 
    go 
 dbcc page(master,1,0,2) 
可以看到MDF文件的一些物理结构信息,其中包括重要的头96个字节。也就是第一个页面的文件头。 
........ 
__文件头 
PAGE HEADER: 
 
Page @0x03FA0000 
m_pageId = (1:0)                     m_headerVersion = 1                  m_type = 15 
m_typeFlagBits = 0x0                 m_level = 0                          m_flagBits = 0x8 
m_objId (AllocUnitId.idObj) = 99     m_indexId (AllocUnitId.idInd) = 0    Metadata: AllocUnitId = 6488064 
Metadata: PartitionId = 0            Metadata: IndexId = 0                Metadata: ObjectId = 99//对象ID 
m_prevPage = (0:0)                   m_nextPage = (0:0)                   pminlen = 0 
m_slotCnt = 1   //槽的个数即行数                     m_freeCnt = 7937                     m_freeData = 3059 
m_reservedCnt = 0                    m_lsn = (149:448:1)                  m_xactReserved = 0 
m_xdesId = (0:0)                     m_ghostRecCnt = 0                    m_tornBits = -1073741694 
........ 
DATA: 
 
Memory Dump @0x62FEC00--反序排列 
62FEC000:   010f0000 08000000 00000000 00000000 †................          
62FEC010:   00000000 00000100 63000000 011ff30b †........c.......          
62FEC020:   00000000 01000000 95000000 c0010000 †................          
62FEC030:   01000000 00000000 00000000 820000c0 †................          
62FEC040:   00000000 00000000 00000000 00000000 †................          
62FEC050:   00000000 00000000 00000000 00000000 †................     
如果这些信息损坏将会造成严重的后果。 
其中每行4个字节,一共分析了文件头的前64个字节。 
00:0F        m_headerVersion        m_type        m_typeFlagBits        m_level 
        m_flagBits        m_indexId 
        m_prevPage(2) 
        m_prevPage(1)        pminlen 
10:1F        m_nextPage(2) 
        m_nextPage(1)        m_slotCnt 
        AllocUnitId.idObj 
        m_freeCnt        m_freeData 
20:2F        m_pageId(2) 
        m_pageId(1)        m_reservedCnt 
        m_lsn(1) 
        m_lsn(2) 
30:3F        m_lsn(3)        m_xactReserved 
        m_xdesId(2) 
        m_xdesId(1)        m_ghostRecCnt 
        m_tornBits 
在数据库的头96个字节中第0x40开始直道0x5F应该都是0。 
 |   
		
 
 
 
 |