Sql Server系列:資料庫組成及系統資料庫

weixin_34262482發表於2014-11-06

1. 資料庫組成

  資料庫的儲存結構分為邏輯儲存結構和物理儲存結構。

  ◊ 邏輯儲存結構:說明資料庫是由哪些性質的資訊所組成。SQL Server的資料庫不僅僅只是資料的儲存,所有與資料處理操作相關的資訊都儲存在資料庫中。

  ◊ 物理儲存結構:資料庫在磁碟上是以檔案為單位儲存的,由資料庫檔案和事務日誌檔案組成,一個資料庫至少應該包含一個資料庫檔案和一個事務日誌檔案。

  SQL Server資料庫系統中的資料庫檔案是由資料檔案和日誌檔案組成的,資料檔案以盤區為單位儲存在儲存器中。

1.1 資料檔案

  資料庫檔案是指資料庫中用來存放資料庫資料和資料庫物件的檔案,一個資料庫可以有一個或多個資料庫檔案,一個資料庫檔案只能屬於一個資料庫。當有多個資料庫檔案時,有一個檔案被定為主資料檔案,用來儲存資料庫的啟動資訊和部分或全部資料,一個資料庫只能有一個主資料庫檔案。資料檔案則劃分為不同的頁面和區域,頁是SQL Server儲存資料的基本單位。

  主資料檔案是資料庫的起點,指向資料庫檔案的其他部分,每個資料庫都有一個主要資料檔案,副檔名為.mdf。

  次資料檔案包含除主資料庫檔案之外的所有資料檔案,一個資料庫可以沒有次資料檔案,也可以有多個次資料檔案,副檔名為.ndf。

1.2 日誌檔案

  SQL Server的日誌是由一系列日誌記錄組成,日誌檔案中記錄了儲存資料庫的更新情況等事務日誌資訊,使用者對資料庫進行的插入、刪除和更新等操作都會記錄在日誌檔案中。當資料庫損壞時,可以根據日誌檔案來分析出錯的原因,或者資料丟失時,還可以使用事務日誌恢復資料庫。每一個資料庫至少必須擁有一個事務日誌檔案,而且允許擁有多個日誌檔案。

  SQL Server2012不強制使用.mdf、.ndf或者.ldf作為檔案的副檔名,但建議使用這些副檔名幫助標準檔案的用途。資料庫中的所有檔案的位置都記錄在master資料庫和該資料庫在主資料檔案中。

2. 系統資料庫

2.1 master資料庫

  master是SQL Server中最重要的資料庫,是整個資料庫伺服器的核心。使用者不能直接修改master資料庫,如果master資料庫損壞了,那麼整個SQL Server伺服器將不能工作。

  master資料庫中包含了以下的一些內容:

  ◊ 所有使用者的登入資訊

  ◊ 使用者所在的組

  ◊ 所有系統的配置選項

  ◊ 伺服器中本地資料庫的名稱和資訊

  ◊ SQL Server的初始化方式等

  master資料庫儲存系統表用於系統的總體控制。如在新建一個資料庫時,在master資料庫的sysdatabases表中插入對應的記錄。

  作為一個資料庫管理員,應該定期備份master資料庫。

2.2 model資料庫

  model資料庫是SQL Server中建立資料庫的模板,如果使用者

  ◊ 希望建立的資料庫有相同的初始化檔案大小,則可以在model資料庫中儲存檔案大小的資訊;

  ◊ 希望所有的資料庫中都有相同的一個或多個表,可以將該資料表儲存在model資料庫中

  新建立的資料庫以model資料庫中的資料作為模板,因此在修改model資料庫之前要考慮到,任何對model資料庫中資料的修改都要影響到所有使用該模板建立的資料庫。

  由於model資料庫作為其他任意資料庫的模板,系統中必須保留,不能刪除。

  在更改model資料庫時需要注意:任意新建的資料庫至少要比model資料庫大。如果將model資料庫大小更改為100MB,則不能建立小於100MB的資料庫。

2.3 msdb資料庫

  msdb提供了執行SQL Server Agent工作的資訊。SQL Server Agent是SQL Server中的一個Windows服務,該服務用來執行制定的計劃任務。如在計劃對一個資料庫每夜進行備份時,則在msdb資料庫中有一個相應的記錄項。

2.4 tempdb資料庫

  tempdb是SQL Server中的一個臨時資料庫,用於存放臨時物件或中間結果,只要建立臨時表,則臨時表會建立在tempdb資料庫中。SQL Server關閉後,該資料庫中的內容被清空,每次重新啟動伺服器之後,tempdb資料庫將被完全重建。

相關文章