首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 系統資料庫功能詳解:master、model、msdb、tempdb、distribution

     編輯:關於SqlServer

SQL Server 執行個體啟動與運作仰賴五大系統資料庫,各司其職,不可遺失。

1. master:核心中樞

  • 儲存所有資料庫的中繼資料 (位置、狀態、擁有者)。
  • 伺服器層級設定:登入帳戶、連結伺服器、端點、組態選項 (sp_configure)。
  • 系統層級物件:擴充預存程序 (xp_*)、系統函數。
  • 損壞後果:SQL Server 無法啟動。
  • 備份策略:每日完整備份,異地保存,定期演練重建 (重建 master 需特殊步驟)。

2. model:範本資料庫

  • 建立新使用者資料庫時,複製 model 的結構與資料。
  • 預置通用物件:CREATE PROC usp_StandardAudit ...、CREATE VIEW vw_ActiveUsers ...、預設權限/角色/使用者。
  • 修改 model 後,僅影響後續新建資料庫,現有資料庫不受影響。

3. tempdb:暫存工作區

  • 每次 SQL Server 啟動重建,基於 model 初始化。
  • 儲存:暫存表 (#temp, ##global)、資料表變數、游標工作表、排序/雜湊中間結果、版本存放區 (快照隔離、RCSI、線上索引重建)。
  • 效能關鍵:多資料檔 (建議邏輯 CPU 核心數 1:1,上限 8)、啟用瞬間檔案初始化、放置於快速儲存 (SSD/NVMe)、預先配置大小避免自動成長。

4. msdb:代理程式與管理中樞

  • SQL Server Agent:作業、排程、警示、操作員、記錄。
  • 備份/還原歷史:backupset、backupmediafamily 等系統表。
  • SSIS 封裝儲存 (舊版)、Database Mail、Log Shipping、Policy-Based Management。
  • 維護:定期清理歷史資料 (sp_delete_backuphistory、sp_purge_jobhistory) 防止膨脹。

5. distribution:複寫散發者

  • 僅當執行個體設定為散發者 時存在。
  • 儲存:複寫中繼資料、快照檔案位置、交易複寫命令佇列、合併複寫世代資訊。
  • 預設名稱 distribution,可自訂。

快速對照表

資料庫核心職責備份頻率建議特殊注意
master執行個體元資料、登入、設定每日完整損壞需重建,演練重建腳本
model新資料庫範本每週完整修改僅影響新資料庫
tempdb暫存物件、版本存放區不需備份 (重啟重建)效能調優關鍵:多檔案、快速磁碟
msdbAgent、備份歷史、SSIS、Log Shipping每日完整定期清理歷史防膨脹
distribution複寫中繼資料、命令佇列每日完整複寫拓撲變更時需重新初始化

熟知五大系統資料庫分工,能精準制定備份、監控、效能調優與災難恢復策略。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved