更新時間:2021-08-16 11:05:02 來源:動力節點 瀏覽1667次
SQL Server(所有支持的版本)
每個 SQL Server 數據庫至少有兩個操作系統文件:一個數據文件和一個日志文件。數據文件包含數據和對象,例如表、索引、存儲過程和視圖。日志文件包含恢復數據庫中所有事務所需的信息。數據文件可以組合在文件組中以用于分配和管理目的。
SQL Server 數據庫具有三種類型的文件,如下表所示。
文件 | 描述 |
---|---|
基本的 | 包含數據庫的啟動信息并指向數據庫中的其他文件。每個數據庫都有一個主數據文件。主數據文件的推薦文件擴展名是 .mdf。 |
中學 | 可選的用戶定義數據文件。通過將每個文件放在不同的磁盤驅動器上,數據可以分布在多個磁盤上。輔助數據文件的推薦文件擴展名是 .ndf。 |
事務日志 | 日志保存用于恢復數據庫的信息。每個數據庫必須至少有一個日志文件。事務日志的推薦文件擴展名是 .ldf。 |
例如,名為Sales的簡單數據庫有一個包含所有數據和對象的主文件和一個包含事務日志信息的日志文件。可以創建一個名為Orders 的更復雜的數據庫,其中包括一個主文件和五個輔助文件。數據庫中的數據和對象分布在所有六個文件中,四個日志文件包含事務日志信息。
默認情況下,數據和事務日志放在相同的驅動器和路徑上以處理單磁盤系統。對于生產環境,此選擇可能不是最佳選擇。我們建議您將數據和日志文件放在不同的磁盤上。
SQL Server 文件有兩種文件名類型:
logical_file_name: logical_file_name 是用于在所有 Transact-SQL 語句中引用物理文件的名稱。邏輯文件名必須符合 SQL Server 標識符的規則,并且在數據庫中的邏輯文件名中必須是唯一的。
os_file_name: os_file_name 是物理文件的名稱,包括目錄路徑。它必須遵循操作系統文件名的規則。
當 SQL Server 的多個實例在一臺計算機上運行時,每個實例都會收到一個不同的默認目錄來保存在該實例中創建的數據庫的文件。
SQL Server 數據文件中的頁面按順序編號,文件中的第一頁從零 (0) 開始。數據庫中的每個文件都有一個唯一的文件 ID 號。要唯一標識數據庫中的頁面,需要文件 ID 和頁碼。以下示例顯示了具有 4 MB 主數據文件和 1 MB 輔助數據文件的數據庫中的頁碼。
文件頭頁是包含文件屬性信息的第一頁。文件開頭的其他幾個頁面也包含系統信息,例如分配映射。存儲在主數據文件和第一個日志文件中的系統頁面之一是數據庫引導頁面,其中包含有關數據庫屬性的信息。
SQL Server 文件可以從它們最初指定的大小自動增長。定義文件時,可以指定特定的增長增量。每次文件被填滿時,它的大小都會增加增長增量。如果文件組中有多個文件,則在所有文件都已滿之前它們不會自動增長。
每個文件還可以指定最大大小。如果未指定最大大小,則文件可以繼續增長,直到用完磁盤上的所有可用空間。當 SQL Server 用作嵌入在用戶無法方便地訪問系統管理員的應用程序中的數據庫時,此功能特別有用。用戶可以讓文件根據需要自動增長,以減少監控數據庫中的可用空間和手動分配額外空間的管理負擔。
數據庫快照用于存儲其寫時復制數據的文件形式取決于快照是由用戶創建還是內部使用:
用戶創建的數據庫快照將其數據存儲在一個或多個稀疏文件中。稀疏文件技術是 NTFS 文件系統的一個特性。起初,一個稀疏文件不包含用戶數據,用戶數據的磁盤空間還沒有分配給稀疏文件。
某些 DBCC 命令在內部使用數據庫快照。這些命令包括 DBCC CHECKDB、DBCC CHECKTABLE、DBCC CHECKALLOC 和 DBCC CHECKFILEGROUP。內部數據庫快照使用原始數據庫文件的稀疏備用數據流。與稀疏文件一樣,備用數據流是 NTFS 文件系統的一項功能。稀疏交替數據流的使用允許將多個數據分配與單個文件或文件夾相關聯,而不會影響文件大小或卷統計數據。
以上就是動力節點小編介紹的"SQL數據庫文件詳解",希望對大家有幫助,想了解更多可查看數據庫教程。動力節點在線學習教程,針對沒有任何Java基礎的讀者學習,讓你從入門到精通,主要介紹了一些Java基礎的核心知識,讓同學們更好更方便的學習和了解Java編程,感興趣的同學可以關注一下。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習