所謂系統(tǒng)數(shù)據(jù)庫就是我們在裝SQL Server之后,系統(tǒng)自帶的數(shù)據(jù)庫。如果你裝SQL Server2005或2008在打開一個SQL實例后,就會看到一個數(shù)據(jù)庫--->系統(tǒng)數(shù)據(jù)庫文件夾,里邊就是系統(tǒng)自帶的數(shù)據(jù)庫,如圖:
對于每一個系統(tǒng)數(shù)據(jù)庫,這里我先用簡單的語言說一下:
1)master:
這個數(shù)據(jù)庫是全局數(shù)據(jù)庫,它包含一些系統(tǒng)表,權限分配,用戶帳號設置,當前數(shù)據(jù)庫配置信息以及關于磁盤空間,文件分配等信息。所以在執(zhí)行諸如用戶帳號設置,權限分配和改變系統(tǒng)配置信息后都要備份此數(shù)據(jù)。所以在這里強烈建議,不僅要經常備份自己的數(shù)據(jù)庫,還有備份此數(shù)據(jù)庫,雖然不像備份自己數(shù)據(jù)庫那樣那么頻繁。至少半個月或一個月備份一次此數(shù)據(jù)庫。
在這里還有專門的一個數(shù)據(jù)庫大牛討論過是否應該備份此數(shù)據(jù)庫:SQL SERVER – Backup master Database Interval – master Database Best Practices
2)model:
這個數(shù)據(jù)庫只是一個模板數(shù)據(jù)庫,我們在創(chuàng)建任意的一個數(shù)據(jù)庫的時候,都是復制此數(shù)據(jù)庫為新數(shù)據(jù)庫的基礎,如果希望每一個新的數(shù)據(jù)庫都含有某些對象或者權限,可以把這個對象或權限放在此數(shù)據(jù)庫中,新創(chuàng)建的新數(shù)據(jù)庫都會繼承此數(shù)據(jù)的新對象或權限,并且擁有這些對象或權限。
3)msdb:
作者原話:SQL Server代理服務器會使用該數(shù)據(jù)庫,它會執(zhí)行一些列如備份和復制任務的計劃好的活動。Service Borker也會用到該數(shù)據(jù)庫,他為SQL Sever提供隊列和可靠消息傳遞。當我們不在該數(shù)據(jù)庫執(zhí)行備份或維護任務時,通??梢院雎栽摂?shù)據(jù)庫。在SQL Server2005之前,實際上是可以刪除該數(shù)據(jù)庫的,只后SQL Server仍然可用,但不能在維護任何備份歷史了,并且不能夠在定義任務,警告,工作或者建立復制,不過因為默認的msdb數(shù)據(jù)庫非常小,建議即使用不到也不要刪除它。
4)tempdb:
該數(shù)據(jù)庫說白了,就是一個中轉站或數(shù)據(jù)寄存站,用戶顯示創(chuàng)建的臨時表,在查詢處理和排序時內部所產生的中間結果的工作表,維護用的快照等,都會用到此數(shù)據(jù)庫,與其他數(shù)據(jù)庫所不同的是,在每次SQL Server實例重啟之后,都會重建而不是恢復. 所以我們在其中創(chuàng)建的所有對象和權限在下次重啟SQL Server時都會全部丟失。
但是我們也不能忽略此數(shù)據(jù)庫,因為tempdb的大小和配置,對優(yōu)化SQL Server的功能和性能來說很重要。
對tempdb數(shù)據(jù)庫,還要多說幾句,雖然在tempdb每次被重建時,它會從model數(shù)據(jù)庫繼承大多數(shù)的數(shù)據(jù)庫選項,但是tempdb卻不會從modeldb數(shù)據(jù)庫中復制其恢復模式,因為它總是使用簡單恢復模式。另外,tempdb是無法刪除的,也不用備份。