SqlServer系統數據庫的作用
系統數據庫
Sql Server的系統數據庫分為:master、model、msdb和tempdb,這四個數據庫在SQL Server中各司其職,作為研發人員,很有必要了解這幾個數據庫的職責,下面我們來看看這幾個數據庫的作用。
1. Master 數據庫
Master 數據庫記錄SQLServer 系統的所有系統級別信息(表sysobjects)。他記錄所有的登錄賬號(表sysusers)和系統配置。Master數據庫是這樣一個數據庫,他記錄所有其他的數據庫(表sysdatabases),包括數據庫文件的位置。Master 數據庫記錄SQLServer的初始化信息,他始終指向一個可用的最新 Master 數據庫備份。
2. Model 數據庫
Model 數據庫是作為在系統上創建數據庫的模板。當系統收到“Create DATABASE” 命令時,新創建的數據庫的第一部分內容從Model 數據庫復制過來,剩余部分由空頁填充,所以SQL Server數據中必須有Mode 數據庫。
3. Msdb 數據庫
Msdb 數據庫供 SQLServer 代理程序調度警報和作業以及記錄操作員時使用。比如,我們備份了一個數據庫,會在表backupfile中插入一條記錄,以記錄相關的備份信息。
4. Tempdb 數據庫
Tempdb 數據庫保存系統運行過程中產生的臨時表和存儲過程。當然,它還滿足其他的臨時存儲要求,比如保存SQL Server生成的存儲表等。Tempdb 數據庫是一個全局咨詢,任何連接到系統的用戶都可以在該數據庫中產生臨時表和存儲過程。Tempdb 數據庫在每次SQL Server啟動的時候,都會清空該數據庫中的內容,所以每次啟動SQL Server后,該表都是干凈的。臨時表和存儲過程在連接斷開后會自動除去,而且當系統關閉后不會有任何活動連接,因此,tempdb 數據庫中沒有任何內容會從SQL Server的一個會話保存到另外一個會話中。
默認情況下,在 SQL Server 在運行時 tempdb 數據庫會根據需要自動增長。不過,與其它數據庫不同,每次啟動數據庫引擎時,它會重置為其初始大小。如果為 tempdb 數據庫定義的大小較小,則每次重新啟動 SQL Server時,將tempdb 數據庫的大小自動增加到支持工作負荷所需的大小這一工作可能會成為系統處理負荷的一部分。為避免這種開銷,可以使用 ALTER DATABASE 增加 tempdb 數據庫的大小。