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