sql server 2008学习2 文件和文件组
數據庫文件
每個 SQL Server 數據庫至少具有兩個操作系統文件:一個數據文件和一個日志文件。數據文件包含數據和對象,例如表、索引、存儲過程和視圖。日志文件包含恢復數據庫中的所有事務所需的信息。為了便于分配和管理,可以將數據文件集合起來,放到文件組中。
SQL Server 數據庫具有三種類型的文件,如下表所示:
文件的頁和區
在 SQL Server 中,頁的大小為 8 KB。這意味著 SQL Server 數據庫中每 MB 有 128 頁。
SQL Server 數據文件中的頁按順序編號,文件的首頁以 0 開始。數據庫中的每個文件都有一個唯一的文件 ID 號。若要唯一標識數據庫中的頁,需要同時使用文件 ID 和頁碼。下例顯示了包含 4-MB 主數據文件和 1-MB 次要數據文件的數據庫中的頁碼。
每個文件的第一頁是一個包含有關文件屬性信息的文件的頁首頁。在文件開始處的其他幾頁也包含系統信息(例如分配映射)。有一個存儲在主數據文件和第一個日志文件中的系統頁是包含數據庫屬性信息的數據庫引導頁。
SQL Server 中數據存儲的基本單位是頁。為數據庫中的數據文件(.mdf 或 .ndf)分配的磁盤空間可以從邏輯上劃分成頁(從 0 到 n 連續編號)。磁盤 I/O 操作在頁級執行。也就是說,SQL Server 讀取或寫入所有數據頁。
在數據頁上,數據行緊接著標頭按順序放置。頁的末尾是行偏移表,對于頁中的每一行,每個行偏移表都包含一個條目。每個條目記錄對應行的第一個字節與頁首的距離。行偏移表中的條目的順序與頁中行的順序相反。
每頁的開頭是 96 字節的標頭,用于存儲有關頁的系統信息。此信息包括頁碼、頁類型、頁的可用空間以及擁有該頁的對象的分配單元 ID。
區是管理空間的基本單位。一個區是八個物理上連續的頁(即 64 KB)。這意味著 SQL Server 數據庫中每 MB 有 16 個區。
為了使空間分配更有效,SQL Server 不會將所有區分配給包含少量數據的表。SQL Server 有兩種類型的區:
-
統一區,由單個對象所有。區中的所有 8 頁只能由所屬對象使用。
-
混合區,最多可由八個對象共享。區中八頁的每頁可由不同的對象所有。
通常從混合區向新表或索引分配頁。當表或索引增長到 8 頁時,將變成使用統一區進行后續分配。如果對現有表創建索引,并且該表包含的行足以在索引中生成 8 頁,則對該索引的所有分配都使用統一區進行。
總結
以上是生活随笔為你收集整理的sql server 2008学习2 文件和文件组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 思援弓缴而射之之字的意思(思援弓缴而射之
- 下一篇: sql server 2008学习1–系