程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server中系統數據庫介紹

SQL Server中系統數據庫介紹

編輯:關於SqlServer

正文

數據庫管理員(DBA)的一項基本的技能是對SQL數據庫引擎的系統數據庫的深刻理解。數據庫開發人員了解SQLSERVER自帶的系統數據庫也是十分有用的。下面就列出了其中的一些系統數據庫。(注:如果你決定研究一下這些系統數據庫,那麼你需要有一個開發數據庫。) 

Master 

  Master數據庫保存有放在SQLSERVER實體上的所有數據庫,它還是將引擎固定起來的粘合劑。如果不使用主數據庫,SQLSERVER就不能啟動,所以你必須要小心地管理好這個數據庫。對這個數據庫進行常規備份是十分必要的。建議在數據庫發生變更的時候備份master數據庫。

  這個數據庫包括了諸如系統登錄、配置設置、已連接的SERVER等信息,以及用於該實體的其他系統和用戶數據庫的一般信息。主數據庫還存有擴展存儲過程,它能夠訪問外部進程,從而讓你能夠與磁盤子系統和系統API調用等特性交互。這些過程一般都用像C++這樣的現代編程語言。 

  如果不幸碰到系統崩潰而必須恢復主數據庫的情況,你可以參看MCSE/MCDBA Steven Warren在TechRepublic上發表的文章。這篇文章講得十分透徹,它解釋了恢復這一重要數據庫所需要的一些特殊步驟。 

Model 
  Model是一個用來在實體上創建新用戶數據庫的模版數據庫。你可以把任何存儲過程、視圖、用戶等放在模型數據庫裡,這樣在創建新數據庫的時候,新數據庫就會包含你放在模型數據庫裡的所有對象了。因此新建的數據庫最小應該有model數據庫那麼大。我們在創建數據庫的時候會指定數據庫的大小,通常會大於model數據庫的大小,這是因為裡面填充了空的page。

Tempdb 

  正如其名字所提示的,tempdb存有臨時對象,例如全局和本地臨時表格和存儲過程。 這個數據庫在SQLSERVER每次重啟的時候都會被重新創建,而其中包含的對象是依據模型數據庫裡定義的對象被創建的。除了這些對象,tempdb還存有其他對象,例如表格變量、來自表格值函數的結果集,以及臨時表格變量。由於tempdb會保留SQLSERVER實體上所有數據庫的這些對象類型,所以對數據庫進行優化配置是非常重要的。

  在SQL Server 2005裡,tempdb數據庫還有一項額外的任務;它還被用作一些特性的版本庫,例如新的快照隔離層和在線索引操作等。關於新的隔離層的簡要說明,請參考我關於SQL Server 2005高級特性的文章。 

Distribution 

  當你的SQLSERVER實體被配置為復制分發SERVER時,這個數據庫就會被添加到你的系統裡。在默認情況下,數據庫的名字就是distribution,但是你可以更改它的名字。這個數據庫用來保存歷史和快照、合並和事務復制等的元數據。 

Msdb 

  Msdb數據庫用來保存於數據庫備份、SQL Agent信息、DTS程序包、SQLSERVER任務等信息,以及諸如日志轉移這樣的復制信息。 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved