帶你輕松了解SQL Server數(shù)據(jù)庫的組成
每個SQL Server 2000數(shù)據(jù)庫(無論是系統(tǒng)數(shù)據(jù)庫還是用戶數(shù)據(jù)庫)在物理上都由至少一個數(shù)據(jù)文件和至少一個日志文件組成。出于分配和管理目的,可以將數(shù)據(jù)庫文件分成不同的文件組。
數(shù)據(jù)文件:分為主要數(shù)據(jù)文件和次要數(shù)據(jù)文件兩種形式。每個數(shù)據(jù)庫都有且只有一個主要數(shù)據(jù)文件。主要數(shù)據(jù)文件的默認(rèn)文件擴(kuò)展名是.mdf。它將數(shù)據(jù)存儲在表和索引中,包含數(shù)據(jù)庫的啟動信息,還包含一些系統(tǒng)表,這些表記載數(shù)據(jù)庫對象及其他文件的位置信息。次要數(shù)據(jù)文件包含除主要數(shù)據(jù)文件外的所有數(shù)據(jù)文件。有些數(shù)據(jù)庫可能沒有次要數(shù)據(jù)文件,而有些數(shù)據(jù)庫則有多個次要數(shù)據(jù)文件。次要數(shù)據(jù)文件的默認(rèn)文件擴(kuò)展名是.ndf。
日志文件:SQL Server具有事務(wù)功能,以保證數(shù)據(jù)庫操作的一致性和完整性。所謂事務(wù)就是一個單元的工作,該單元的工作要么全部完成,要么全部不完成。日志文件用來記錄數(shù)據(jù)庫中已發(fā)生的所有修改和執(zhí)行每次修改的事務(wù)。SQL Server是遵守先寫日志再執(zhí)行數(shù)據(jù)庫修改的數(shù)據(jù)庫系統(tǒng),因此如果出現(xiàn)數(shù)據(jù)庫系統(tǒng)崩潰,數(shù)據(jù)庫管理員(DBA)可以通過日志文件完成數(shù)據(jù)庫的修復(fù)與重建。每個數(shù)據(jù)庫必須至少有一個日志文件,但可以 不止一個。日志文件的默認(rèn)文件擴(kuò)展名是.1df。建立數(shù)據(jù)庫時,SQI。Server會自動建立數(shù)據(jù)庫的日志文件。
文件組:一些系統(tǒng)可以通過控制在特定磁盤驅(qū)動器上放置的數(shù)據(jù)和索引來提高自身的性能。文件組可以對此進(jìn)程提供幫助。系統(tǒng)管理員可以為每個磁盤驅(qū)動器創(chuàng)建文件組,然后將特定的表、索引、或表中的text、ntext或image數(shù)據(jù)指派給特定的文件組。
SQI.Server有兩種類型的文件組:主文件組和用戶定義文件組。主文件組包含主要數(shù)據(jù)文件和任何沒有明確指派給其他文件組的文件,系統(tǒng)表的所有頁均分配在主文件組中;用戶定義文件組是在CR E_ATE DATA_BASE或AI,TER DATA.BASE語句中,使用FII,EGROUP關(guān)鍵字指定的文件組。SQt.Server 2000在沒有文件組時也能有效地工作,因此許多系統(tǒng)不需要指定用戶定義文件組。在這種情況下,所有文件都包含在主文件組中,而且SQI。Server 2000可以在數(shù)據(jù)庫內(nèi)的任何位置分配數(shù)據(jù)。
每個數(shù)據(jù)庫中都有一個文件組作為默認(rèn)文件組運(yùn)行。當(dāng)SQI。Server給創(chuàng)建時沒有為其指定文件組的表或索引分配頁時,將從默認(rèn)文件組中進(jìn)行分配。一次只能有一個文件組作為默認(rèn)文件組。如果沒有指定默認(rèn)的文件組,主文件組則成為默認(rèn)的文件組。
本文是從SQL Server數(shù)據(jù)庫最基本的組成講起,對與剛剛?cè)腴T的初學(xué)者是很有用的,很高興能夠與大家分享。
【編輯推薦】
- 關(guān)于SQL Server數(shù)據(jù)庫備份和恢復(fù)特性介紹
- Microsoft SQL Server數(shù)據(jù)庫開發(fā)問題詳解
- SQL Server數(shù)據(jù)庫多種方式查找重復(fù)記錄