每個 SQL Server 資料庫至少都有兩個作系統檔案:數據檔和記錄檔。 數據檔包含數據表、索引、預存程式和檢視表等數據和物件。 記錄檔包含復原資料庫中所有交易所需的資訊。 數據檔可以群組在檔案群組中,以供配置和管理之用。
資料庫檔案
SQL Server 資料庫有三種類型的檔案,如下表所示。
檔案 | 說明 |
---|---|
主要 | 主要數據檔包含資料庫的啟動資訊,並指向資料庫中的其他檔案。 用戶數據和物件可以儲存在此檔案或次要數據檔中。 每個資料庫都有一個主要數據檔。 主要數據文件的建議擴展名為 .mdf。 |
次要的 | 次要數據檔是選擇性的、使用者定義的,以及儲存用戶數據。 次要檔案可用來將數據分散到多個磁碟,方法是將每個檔案放在不同的磁碟驅動器上。 此外,如果資料庫超過單一 Windows 檔案的大小上限,您可以使用次要數據檔,讓資料庫可以繼續成長。 次要數據文件的建議擴展名為 .ndf。 |
交易記錄 | 事務歷史記錄檔會保存用來復原資料庫的記錄資訊。 每個資料庫必須至少有一個記錄檔。 建議的交易記錄檔副檔名為 .ldf。 |
例如,您可以建立名為 Sales 的簡單資料庫,其中包含一個主要檔案,其中包含所有數據和物件,以及包含事務歷史記錄資訊的記錄檔。 或者,可以建立一個名為 Orders 的更複雜的資料庫,其中包含一個主要檔案和五個次要檔案。 資料庫中的數據和物件會分散到所有六個檔案,而四個記錄檔包含事務歷史記錄資訊。
根據預設,數據和事務歷史記錄會放在相同的磁碟驅動器和路徑上。 這樣做是為了處理單一磁碟系統。 不過,這可能不適用於生產環境。 建議您將數據和記錄檔放在不同的磁碟上。
檔案群組
每個資料庫都有一個主要檔案群組。 此檔案群組包含主要數據檔,以及未放入其他檔案群組的任何次要檔案。 您可以建立使用者定義的檔案群組,將數據檔分組在一起,以進行系統管理、數據配置和放置。
例如,可以在三個磁碟驅動器上分別建立三個檔案 Data1.ndf、Data2.ndf 和 Data3.ndf,並指派給檔案群組 fgroup1。 然後,可以在檔案群組 fgroup1 上特別建立數據表。 數據表中數據的查詢會分散到三個磁碟;這會改善效能。 相同的效能改善可以透過在 RAID(獨立磁碟備援陣列)條帶集上建立的單一檔案來實現。 不過,檔案和檔案群組可讓您輕鬆地將新檔案新增至新的磁碟。
所有數據檔都會儲存在下表所列的檔案群組中。
檔案群組 | 說明 |
---|---|
主要 | 包含主要檔案的檔案群組。 所有系統數據表都會配置給主要檔案群組。 |
使用者定義 | 任何使用者在第一次建立資料庫或稍後修改資料庫時特別創建的檔案群組。 |
默認檔案群組
在資料庫中建立物件而不指定其所屬的檔案群組時,它們會指派給預設檔案群組。 在任何時候,只有一個檔案群組指定為預設檔案群組。 默認檔案群組中的檔案必須夠大,才能保存未配置給其他檔案群組的任何新物件。
PRIMARY 檔案群組是預設檔案群組,除非使用 ALTER DATABASE 語句加以變更。 系統對象和數據表的配置會保留在 PRIMARY 檔案群組中,而不是新的預設檔案群組。
相關內容
CREATE DATABASE (SQL Server Transact-SQL)