檔案和檔案組體系結構

2021-08-16 09:14:32 字數 1706 閱讀 6167

sqlserver將資料庫對映為一組作業系統檔案。資料和日誌資訊絕不會混合在同乙個檔案中,而且乙個檔案只能由乙個資料庫使用。

檔案組是命名的檔案集合,用於幫助資料布局和管理任務,例如備份和還原操作。

sqlserver資料庫具有三種型別檔案:

1.主資料檔案(mdf,字尾名可變,主資料檔案是資料庫的起點,指向資料庫中的其他檔案。每個資料庫都有乙個主資料檔案。);

2.次要資料檔案(ndf,字尾名可變,除主資料檔案以外的所有其他資料檔案都是次要資料檔案。);

3.日誌檔案(ldf,字尾名可變,包含著用於恢復資料庫的所有日誌資訊。每個資料庫必須至少有乙個日誌檔案,

當然也可以有多個

。);在 sqlserver 中,資料庫中所有檔案的位置都記錄在資料庫的主檔案和 master 資料庫中。大多數情況下,sql server 資料庫引擎使用 master 資料庫中的檔案位置資訊。但是,在下列情況下,資料庫引擎使用主檔案的檔案位置資訊初始化 master 資料庫中的檔案位置項:

使用帶有 for attach 或 for attach_rebuild_log 選項的 create database 語句來附加資料庫時。

從 sql server 2000 版或 7.0 版公升級時。

還原 master 資料庫時。

sqlserver

檔案有兩個名稱(邏輯和物理檔名稱)

logical_file_name

是在所有transact-sql 語句中引用物理檔案時所使用的名稱。邏輯檔名必須符合 sql server 識別符號規則,而且在資料庫中的邏輯檔名中必須是唯一的。

os_file_name

是包括目錄路徑的物理檔名

。它必須符合作業系統檔案命名規則。

sql server

資料和日誌檔案可以儲存在 fat 或 ntfs 檔案系統中。由於 ntfs 在安全方面具有優勢,因此,我們建議您使用 ntfs 檔案系統。可讀/寫資料檔案組和日誌檔案不能儲存在 ntfs 壓縮檔案系統中。只有唯讀資料庫和唯讀次要檔案組可以儲存在 ntfs 壓縮檔案系統中。

如果多個 sql server 例項在一台計算機上執行,則每個例項都會接收到不同的預設目錄來儲存在該例項中建立的資料庫檔案。

為便於分配和管理,可以將資料庫物件和檔案一起分成檔案組。有兩種型別的檔案組:

資料庫檔案組

主檔案組

主檔案組包含主資料檔案和任何沒有明確分配給其他檔案組的其他檔案

。系統表的所有頁均分配在主檔案組中。

使用者定義檔案組

使用者定義檔案組是通過在 create database 或 alter database 語句中使用 filegroup 關鍵字指定的任何檔案組。

日誌檔案不包括在檔案組內。日誌空間與資料空間分開管理。

乙個檔案不可以是多個檔案組的成員

。表、索引和大型物件資料可以與指定的檔案組相關聯。在這種情況下,它們的所有頁將被分配到該檔案組,或者對錶和索引進行分割槽。

已分割槽表和索引的資料被分割為單元

,每個單元可以放置在資料庫中的單獨檔案組中。

每個資料庫中均有乙個檔案組被指定為預設檔案組。如果建立表或索引時未指定檔案組,則將假定所有頁都從預設檔案組分配。一次只能有乙個檔案組作為預設檔案組。db_owner 固定資料庫角色成員可以將預設檔案組從乙個檔案組切換到另乙個。如果沒有指定預設檔案組,則將主檔案組作為預設檔案組。

學習散記11之 檔案和檔案組體系結構

檔案和檔案組體系結構 ps msdn摘入 sql server 將資料庫對映為一組作業系統檔案。資料和日誌資訊絕不會混合在同乙個檔案中,而且乙個檔案只由乙個資料庫使用。資料庫檔案 sql server 資料庫具有三種型別的檔案 1.主資料檔案 主資料檔案是資料庫的起點,指向資料庫中的其他檔案。每個資...

體系結構 MySQL日誌檔案

體系結構 mysql日誌檔案 二進位制日誌 binary log binary log index 先找到這兩個檔案 plain rocky localhost show variables like datadir variable name value datadir home mysql my...

體系結構 MySQL日誌檔案

體系結構 mysql日誌檔案 慢查詢日誌 顧名思義,慢查詢日誌中記錄的是執行時間較長的 query 可以設乙個閥值 將執行時間超過該值的所有sql語句都記錄到慢查詢日誌檔案中 該閥值可以通過引數long query time來設定 預設是10秒 這裡需要一點 對於執行時間正好等於long query...