sqlserver每個資料頁面的頁頭都是固定的96位元組,另外就是真正的資料行以及行偏移矩陣。
掌握頁面元資料也是對sqlserver內部組織的乙個了解。
其中nextpage 和 prepage引數只有在相應表有聚集索引的時候,才會將頁面以鍊錶的形式組織起來,不然,仍然是靠的表掃瞄(先掃瞄iam頁)
lsn用於事務管理
行偏移矩陣是用作跟蹤資料在磁碟上的真正位置,以及與邏輯位置的對應關係。順便說一下即使表有聚集索引,行儲存的物理位置仍然不是按照索引順序,真正的物理位置順序由作業系統決定。只是建立了聚集索引,表資料行的邏輯順序才跟索引順序一致。
使用dbcc page可以對其進行檢視。
字段 包含
pageid
該頁面在資料庫中的檔案編號和頁碼
nextpage
如果該頁面處於乙個頁面鏈中,那麼該欄位表示下乙個頁面的案件編號和頁碼
prevpage
如果該頁面處於乙個頁面鏈中,那麼該欄位表示上乙個頁面的案件編號和頁碼
objid
該頁面所屬的物件的id
lsn
用於更改和更新該頁面的日誌序列號(lsn)值
slotcnt
該頁面中所用的總的槽(行)數
level
該頁面在索引中的級別(對於葉頁通常為0)
indexid
該頁面的索引id(對於資料頁面通常為0)
freedata
該頁面中的第乙個自由空間的位元組偏移量
pminlen
行的固定長度部分的位元組數
freecnt
頁面中的自由位元組數
reservedcnt
由所有事務預留的位元組數
xactresenved
由最近啟動的事務預留的位元組數
tornbits
每個扇區1位,用於檢測殘缺頁的寫
flagbits
包含關於頁面其他資訊的2位元組位圖
順便說一句,從這個鏈結
的一篇文章類似sqlserver2005技術內幕之儲存引擎的第209頁的內容極度重合,後搜到作者相關書籍:
哎,天下文章一大抄。
Sqlserver匯入資料
錯誤 0xc002f210 準備 sql 任務 1 執行查詢 truncate table dbo city 失敗,錯誤如下 無法截斷表 dbo.city 因為該錶正由foreign key 約束引用。失敗的原因可能有 查詢本身有問題 未正確設定 resultset 屬性 未正確設定引數或未正確建立...
Sql Server 資料分頁
1 引言 在列表查詢時由於資料量非常多,一次性查出來會非常慢,就算一次查出來了,也不能一次性顯示給客戶端,所以要把資料進行分批查詢出來,每頁顯示一定量的資料,這就是資料要分頁。2 常用的資料分頁語法 先查出 top 300000,再聚合取這個集合中最大的id1,再過濾 id大於id1的集合 上圖中使...
SQL Server 資料轉換
資料轉換服務的概念 通常資料總是以不同的格式,儲存在不同的地方,有的可能是文字檔案,有的雖然具有表結構但不屬於同一種資料來源。這些情況極大地妨礙了資料的集中處理。為此sql server提供了dts data transformation servers 元件。dts本身包含多個工具,並提供了介面來...