2010-02-11 17 views
0

mdf文件(sql server)中的每個頁面在頁面標題中都有一個m_tornBits字段。 任何人能解釋一下這個值意味着sql server頁面中的m_tornBits字段

這裏是一個網頁標題的例子: -

PAGE HEADER: 


Page @0x1A198000 

m_pageId = (1:135)  m_headerVersion = 1  m_type = 1 
m_typeFlagBits = 0x0  m_level = 0    m_flagBits = 0x2 
m_objId = 3    m_indexId = 0    m_prevPage = (1:89) 
m_nextPage = (0:0)  pminlen = 46    m_slotCnt = 80 
m_freeCnt = 2360   m_freeData = 7036   m_reservedCnt = 0 
m_lsn = (8:213:7)   m_xactReserved = 0  m_xdesId = (0:834) 
m_ghostRecCnt = 0   m_tornBits = 822083793 

這裏tornbit場822083793

這是什麼意思?

回答

0

From Technet: SQL Server 2000 I/O Basics

撕裂的I/O 撕裂的I/O通常被稱爲SQL Server文檔在一個殘缺頁。發生部分寫入時發生破碎的I/O,導致數據處於無效狀態。 SQL Server 2000/7.0數據頁的大小爲8 KB。只有8 KB的一部分被正確地寫入穩定媒體或從穩定媒體中檢索時,纔會出現SQL Server的數據頁面破損。

m_tornBits包含TORN或CHECKSUM驗證值。

當從磁盤中讀取頁面併爲數據庫啓用PAGE_VERIFY保護時,將對審計破壞的位進行審計。

你可以在這裏找到答案這個文件(搜索m_tornBits)中:

http://download.microsoft.com/download/4/7/a/47a548b9-249e-484c-abd7-29f31282b04d/SQLIOBasicsCh2.doc

+0

感謝您的非常有用的信息。 你還可以告訴我如何解釋m_flagBits。 謝謝, Jude – jude