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

講解SQL Server系統數據庫的工作原理

編輯:關於SqlServer

我們知道,DBA對SQL數據庫引擎的系統數據庫必須有深入的了解,同時,數據庫開發人員了解SQL Server自帶的系統數據庫也是十分有必要的。下文中列舉了其中的一些系統數據庫。

Master

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

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

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

Model

Model是一個用來在實體上創建新用戶數據庫的模版數據庫。你可以把任何存儲過程、視圖、用戶等放在模型數據庫裡,這樣在創建新數據庫的時候,新數據庫就會包含你放在模型數據庫裡的所有對象了。

Tempdb

正如其名字所提示的,tempdb存有臨時對象,例如全局和本地臨時表格和存儲過程。

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

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

Distribution

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

Msdb

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

注釋:隨著工作或學習的深入,你會逐漸發現理解SQL Server的最佳方法是研究系統數據庫的工作原理。作為一條普遍的規律,我們通常不建議大家直接在SQL Server裡查詢系統表格,但是通過研究這些系統數據庫裡的表格,大家可以學到很多有關SQL Server工作原理的實用知識。

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