首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2000 資料庫檔案組織架構:檔案類型、命名、儲存與空間配置

     編輯:關於SqlServer

一、 資料檔案類型

類型副檔名慣例用途數量
主資料檔.mdf啟動資訊、系統表、使用者資料/索引、指向其他檔案的指標每資料庫恰好 1 個
次要資料檔.ndf跨磁碟分散資料、檔案群組管理、大型資料庫擴展0 或多個
交易日誌檔.ldf記錄所有交易操作,支援復原/還原/複寫至少 1 個

注意: 副檔名非強制,但強烈建議遵循慣例以利維運辨識。

二、 邏輯與實體檔案名稱

  • 邏輯名稱: T-SQL 陳述式中使用 (如 `ALTER DATABASE ... MODIFY FILE (NAME = logical_name ...)`),資料庫內唯一,遵循識別碼規則。
  • 實體名稱: 作業系統檔案系統完整路徑 (含檔名)。
  • 查詢對應:SELECT name, physical_name FROM sys.master_files WHERE database_id = DB_ID('MyDB');

三、 檔案位置資訊儲存雙重機制

SQL Server 在兩處記錄檔案位置:

  1. master 系統資料庫 (`sys.master_files` / `sys.databases`)。
  2. 資料庫自身的主檔案 (Boot Page, Page 0)。

例外情況 (引擎讀取主檔案位置):

  • SQL Server 7.0 → 2000 升級過程。
  • 還原 `master` 資料庫後。
  • 執行 `sp_attach_db` / `CREATE DATABASE ... FOR ATTACH` 附加資料庫時。

四、 空間配置單位:擴展區與頁面

單位大小組成說明
頁面8 KB—I/O 基本單位,單一物件專屬
擴展區64 KB8 個連續頁面空間配置基本單位
混合擴展區64 KB最多 8 個不同物件共用新物件前 8 頁配置於此
統一擴展區64 KB單一物件專用物件超過 8 頁後配置

五、 自動成長與配置策略

  1. 新建物件 → 尋找有空間的混合擴展區 → 配置頁面。
  2. 物件增長 → 持續使用混合擴展區直到佔滿 8 頁。
  3. 超過 8 頁 → 配置統一擴展區。
  4. 所有檔案群組無空間且啟用「自動成長」 → 循環演算法擴展各檔案。

六、 最佳實務建議

  1. 預先規劃大小: 依預估資料量設定初始大小,避免頻繁自動成長造成碎片與效能抖動。
  2. 固定成長量: 以 MB 為單位 (如 256/512 MB) 而非百分比,確保可預測增長。
  3. 檔案群組隔離: 將大型資料表、索引、LOB 資料、系統表分置不同檔案群組,對應不同磁碟/儲存層。
  4. 啟用瞬間檔案初始化: 服務帳號授予 `SE_MANAGE_VOLUME_NAME` (執行量大小維護權限),資料檔擴展跳過清零大幅加速 (日誌檔不適用)。
  5. 監控碎片: 定期 `DBCC SHOWCONTIG` / `sys.dm_db_index_physical_stats` 檢查並重建索引。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved