Sql Server系列:數據庫組成及系統數據庫


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數據庫將被完全重建。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM