Microsoft SQL Server系統(tǒng)有四種系統(tǒng)數(shù)據(jù)庫(kù):
master 數(shù)據(jù)庫(kù)
master 數(shù)據(jù)庫(kù)記錄SQL Server 系統(tǒng)的所有系統(tǒng)級(jí)別信息。它記錄所有的登錄帳戶和系統(tǒng)配置設(shè)置。master 數(shù)據(jù)庫(kù)是這樣一個(gè)數(shù)據(jù)庫(kù),它記錄所有其它的數(shù)據(jù)庫(kù),其中包括數(shù)據(jù)庫(kù)文件的位置。master 數(shù)據(jù)庫(kù)記錄 SQL Server 的初始化信息,它始終有一個(gè)可用的最新 master 數(shù)據(jù)庫(kù)備份。
tempdb 數(shù)據(jù)庫(kù)
tempdb 數(shù)據(jù)庫(kù)保存所有的臨時(shí)表和臨時(shí)存儲(chǔ)過(guò)程。它還滿足任何其它的臨時(shí)存儲(chǔ)要求,例如存儲(chǔ) SQL Server 生成的工作表。tempdb 數(shù)據(jù)庫(kù)是全局資源,所有連接到系統(tǒng)的用戶的臨時(shí)表和存儲(chǔ)過(guò)程都存儲(chǔ)在該數(shù)據(jù)庫(kù)中。 tempdb 數(shù)據(jù)庫(kù)在 SQL Server 每次啟動(dòng)時(shí)都重新創(chuàng)建,因此該數(shù)據(jù)庫(kù)在系統(tǒng)啟動(dòng)時(shí)總是干凈的。臨時(shí)表和存儲(chǔ)過(guò)程在連接斷開(kāi)時(shí)自動(dòng)除去,而且當(dāng)系統(tǒng)關(guān)閉后將沒(méi)有任何連接處于活動(dòng)狀態(tài),因此 tempdb 數(shù)據(jù)庫(kù)中沒(méi)有任何內(nèi)容會(huì)從 SQL Server 的一個(gè)會(huì)話保存到另一個(gè)會(huì)話。
默認(rèn)情況下,在 SQL Server 在運(yùn)行時(shí) tempdb 數(shù)據(jù)庫(kù)會(huì)根據(jù)需要自動(dòng)增長(zhǎng)。不過(guò),與其它數(shù)據(jù)庫(kù)不同,每次啟動(dòng)數(shù)據(jù)庫(kù)引擎時(shí),它會(huì)重置為其初始大小。如果為 tempdb 數(shù)據(jù)庫(kù)定義的大小較小,則每次重新啟動(dòng) SQL Server時(shí),將tempdb 數(shù)據(jù)庫(kù)的大小自動(dòng)增加到支持工作負(fù)荷所需的大小這一工作可能會(huì)成為系統(tǒng)處理負(fù)荷的一部分。為避免這種開(kāi)銷,可以使用 ALTER DATABASE 增加 tempdb 數(shù)據(jù)庫(kù)的大小。
model 數(shù)據(jù)庫(kù)
model 數(shù)據(jù)庫(kù)用作在系統(tǒng)上創(chuàng)建的所有數(shù)據(jù)庫(kù)的模板。當(dāng)發(fā)出 CREATE DATABASE 語(yǔ)句時(shí),新數(shù)據(jù)庫(kù)的第一部分通過(guò)復(fù)制 model 數(shù)據(jù)庫(kù)中的內(nèi)容創(chuàng)建,剩余部分由空頁(yè)填充。由于 SQL Server 每次啟動(dòng)時(shí)都要?jiǎng)?chuàng)建 tempdb 數(shù)據(jù)庫(kù),model 數(shù)據(jù)庫(kù)必須一直存在于 SQL Server 系統(tǒng)中。
msdb 數(shù)據(jù)庫(kù)
msdb 數(shù)據(jù)庫(kù)供 SQL Server 代理程序調(diào)度警報(bào)和作業(yè)以及記錄操作員時(shí)使用。比如復(fù)制設(shè)置 等。