數(shù)據(jù)庫(kù)在磁盤上是以文件為單位存儲(chǔ)的,由數(shù)據(jù)文件和事務(wù)日志文件組成,一個(gè)數(shù)據(jù)庫(kù)至少應(yīng)該包含一個(gè)數(shù)據(jù)文件和一個(gè)事務(wù)日志文件。
數(shù)據(jù)庫(kù)創(chuàng)建在物理介質(zhì)(如硬盤)的ntfs分區(qū)或者fat分區(qū)的一個(gè)或多個(gè)文件上,它預(yù)先分配了將要被數(shù)據(jù)和事務(wù)日志所使用的物理存儲(chǔ)空間。存儲(chǔ)數(shù)據(jù)的文件叫做數(shù)據(jù)文件,數(shù)據(jù)文件包含數(shù)據(jù)和對(duì)象,如表和索引。存儲(chǔ)事務(wù)日志的文件叫做事務(wù)日志文件(又稱日志文件)。在創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)的時(shí)候僅僅是創(chuàng)建了一個(gè)“空殼,必須在這個(gè)“空殼”中創(chuàng)建對(duì)象(如表等),然后才能使用這個(gè)數(shù)據(jù)庫(kù)。
sqlserver2008數(shù)據(jù)庫(kù)具有以下四種類型的文件
·主數(shù)據(jù)文件:主數(shù)據(jù)文件包含數(shù)據(jù)庫(kù)的啟動(dòng)信息,指向數(shù)據(jù)庫(kù)中的其他文件,每個(gè)數(shù)據(jù)庫(kù)都有一個(gè)主數(shù)據(jù)文件,主數(shù)據(jù)文件的文件擴(kuò)展名是.mdf。
·次要(輔助)數(shù)據(jù)文件:除主數(shù)據(jù)文件以外的所有其他數(shù)據(jù)文件都是次要數(shù)據(jù)文件,某些數(shù)據(jù)庫(kù)可能不包含任何次要數(shù)據(jù)文件,而有些數(shù)據(jù)庫(kù)則包含多個(gè)次要數(shù)據(jù)文件,次要數(shù)據(jù)文件的文件擴(kuò)展名是.ndf。
·事務(wù)日志文件:包含恢復(fù)數(shù)據(jù)庫(kù)所有事務(wù)日志的信息。每個(gè)數(shù)據(jù)庫(kù)必須至少有一個(gè)事務(wù)日志文件,當(dāng)然也可以有多個(gè),事務(wù)日志文件的推薦文件擴(kuò)展名是.ldf。
·文件流( filestream):可以使得基于 sqlserver的應(yīng)用程序能在文件系統(tǒng)中存儲(chǔ)非結(jié)構(gòu)化的數(shù)據(jù),如文檔、圖片、音頻等,文件流主要將sqlserver數(shù)據(jù)庫(kù)引擎和新技術(shù)文件系統(tǒng)(ntfs)集成在一起,它主要以varbinary (max)數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù)。