深入了解SQLServer系統資料庫工作原理

2021-09-26 13:39:58 字數 1134 閱讀 4001

2023年05月25日 15:14:00 bluestream 閱讀數 1144

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

master

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

這個資料庫包括了諸如系統登入、配置設定、已連線的server等資訊,以及用於該實體的其他系統和使用者資料庫的一般資訊。主資料庫還存有擴充套件儲存過程,它能夠訪問外部程序,從而讓你能夠與磁碟子系統和系統api呼叫等特**互。這些過程一般都用像c++這樣的現代程式語言。

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

model

model是乙個用來在實體上建立新使用者資料庫的模版資料庫。你可以把任何儲存過程、檢視、使用者等放在模型資料庫裡,這樣在建立新資料庫的時候,新資料庫就會包含你放在模型資料庫裡的所有物件了。

tempdb

當你的sqlserver實體被配置為複製分發server時,這個資料庫就會被新增到你的系統裡。在預設情況下,資料庫的名字就是distribution,但是你可以更改它的名字。這個資料庫用來儲存歷史和快照、合併和事務複製等的元資料。

msdb

msdb資料庫用來儲存於資料庫備份、sql agent資訊、dts程式包、sqlserver任務等資訊,以及諸如日誌轉移這樣的複製資訊。

結束語

在過去幾年裡,我發現理解sqlserver的最佳方法是研究系統資料庫的工作原理。作為一條普遍的規律,我不建議你直接在sqlserver裡查詢系統**;但是通過研究這些系統資料庫裡的**,你可以學習到很多關於sqlserver工作原理的知識。

深入了解A

一 前言 在這裡我將對a 演算法的實際應用進行一定的 並且舉乙個有關a 演算法在最短路徑搜尋的例子。值得注意的是這裡並不對a 的基本的概念作介紹,如果你還對a 演算法不清楚的話,請看姊妹篇 初識a 演算法 這裡所舉的例子是參考amit主頁中的乙個源程式,使用這個源程式時,應該遵守一定的公約。二 a ...

深入了解A

一 前言 在這裡我將對a 演算法的實際應用進行一定的 並且舉乙個有關a 演算法在最短路徑搜尋的例子。值得注意的是這裡並不對a 的基本的概念作介紹,如果你還對a 演算法不清楚的話,請看姊妹篇 初識a 演算法 這裡所舉的例子是參考amit主頁中的乙個源程式,使用這個源程式時,應該遵守一定的公約。二 a ...

深入了解Dojo Data

譯自http www.sitepen.com blog 2010 10 13 dive into dojo data 使用dojo data有助於快速建立web應用的介面,且易於嵌入各種資料來源。它在使用者介面與底層資料之間提供了一層抽象層,使得使用者介面開發人員能夠專注於ui的開發,而無需擔心資料...