1. 程式人生 > >sqlserver 標準系統數據庫

sqlserver 標準系統數據庫

物理 系統數據庫 1-1 包含 應該 mssq 需要 image 我們

SQL server系統數據庫很重要,大部分時候都不應該修改他們。唯一例外的是model數據庫和tempdb數據庫。model數據庫允許部署更改到任何新創建的數據庫(如存儲過程),而更改tempdb數據庫則是為了幫助擴展數據庫以承擔更多的負載。

1、Resource數據庫

Resource數據庫從SQL server 2005引進。它包含了SQL server運行所需的所有的只讀的關鍵系統表、元數據以及存儲過程。它不包含任何用戶實例或數據庫的任何信息,它只在安裝新服務補丁時被寫入。Resource數據庫包含其他數據庫邏輯引用的所有物理表和存儲過程。默認安裝位置為C:\Procgram Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Binn,每個實例只有一個Resource。

註:其中C:是標準設置,MSSQL14是版本,.MSSQLSERVER是實例名。

自2012版本以來,升級到新服務補丁或者和快速修正時候,將使用Resource數據庫的副本覆蓋舊數據庫,這樣可使用戶快速升級SQL server 目錄,並且可以回滾到前一個版本。

通常,DBA在連接到任意一個數據庫的同時都可以對Resource數據庫進行簡單的查詢,而不必直接連接Resource數據庫。

例如:

技術分享

  註:不要將Resource數據庫放在加密或者壓縮的驅動器上,因為這樣可能會導致升級問題或者性能問題。

二、master數據庫

  master數據庫包含有關數據的元數據(數據庫配置文件和文件位置)、登陸以及有關實例的配置信息。

  運行如下代碼,可以查看部分元數據:

  技術分享

  resource數據庫和master數據庫主要的區別在於:master數據庫保存用戶實例特定的數據,而resource數據庫只保存用戶實例所需的架構和存儲過程,不包含任何實例特定的數據。

盡量不要在master數據庫中創建對象,如果創建了,那麽可能需要更頻繁的進行備份。

三、tempdb數據庫

  tempdb用於存儲用戶創建的臨時對象、數據庫引擎需要的臨時對象和行版本信息,類似於操作系統的分頁文件。tempdb數據庫在每次重啟sqlserver時創建,大小恢復為默認大小,我們無需考慮去備份他。

  對tempdb中的對象數據更改可以減少登陸;

  為tempdb數據庫分配足夠的空間非常重要;

  通常,應將tempdb數據庫設置為在需要空間時自動擴展;

  考慮到15%~20%的擴展開銷下留出足夠的空間,如果沒有足夠的空間。

四、model數據庫

  model數據庫是sqlserver創建新數據庫時充當模板的系統數據庫。也就是說,創建每個數據庫時,SQL server 將model數據庫復制為新數據庫;唯一的例外發生在還原和重新連接其他服務器上的數據庫時。所以,如果在model數據庫中添加你自己的對象,那麽應該把model數據庫包括在你的備份中,或者維護包含更改的腳本。

五、msdb數據庫

  msdb包含SQL server代理、日誌傳送、SSIS以及關系數據庫引擎的備份和還原系統使用的信息。該存儲過程存儲了有關作業、操作、警策略以及作業歷史的全部信息。這些都是重要的系統級數據,所以應該定期對該數據庫備份。

  

sqlserver 標準系統數據庫