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