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

SQL Server 系統資料庫完整介紹:master、model、msdb、tempdb、ReportServer 功能詳解

     編輯:關於SqlServer

SQL Server 系統資料庫完整介紹:master、model、tempdb、msdb、ReportServer 功能詳解


SQL Server 執行個體安裝後預設建立五個系統資料庫(部分版本含 ReportServer),各司其職,掌握其功能對備份策略、災難恢復、安全管理至關重要。


系統資料庫清單與核心功能

資料庫功能定位關鍵內容備份頻率建議
master執行個體級元資料中樞登入帳號、伺服器設定、連結伺服器、端點、資源調控器配置、所有使用者資料庫的檔案位置與狀態**每日完整備份**,異動後立即備份(如新增登入、修改設定)
model新資料庫範本建立資料庫時**複製 model 內容**作為初始結構(表、檢視、程序、預設值、檔案群組設定)。可預置通用表、使用者、權限。**每週完整備份**,變更後備份
msdbSQL Server Agent 作業中樞作業、排程、警示、操作員、備份/還原歷史、維護計畫、Database Mail、Service Broker 佇列**每日完整備份**,配合作業變更頻率
tempdb暫存物件共享空間暫存表、表變數、游標、版本存放區、排序/雜湊溢寫、內部工作表。**每次啟動重建**,不保留任何持久資料。**不可備份**,啟動自動重建。關注檔案大小、自動增長、多資料檔配置(建議 1:1 邏輯核心數,上限 8)。
ReportServer
(SSRS 安裝時)
報表伺服器目錄報表定義、訂閱、快照、資料來源、安全原則、執行日誌**每日完整備份**,含加密金鑰備份
ReportServerTempDB
(SSRS 安裝時)
報表暫存工作區工作階段資料、暫存報表、快照過期清理。特性類似 tempdb,啟動重建。不可備份

關鍵管理操作指南

master 資料庫災難恢復

  1. 啟動單用戶模式:sqlservr.exe -m -T3608(-T3608 僅恢復 master)。
  2. 使用 RESTORE DATABASE master FROM DISK='...' WITH REPLACE。
  3. 重啟服務,若模型資料庫也損壞,同步恢復 model。

model 資料庫自訂範本

USE model;
CREATE SCHEMA audit;
CREATE TABLE audit.log (id INT IDENTITY, event NVARCHAR(MAX), ts DATETIME DEFAULT SYSDATETIME());
CREATE USER app_user WITHOUT LOGIN;
GRANT SELECT, INSERT ON audit.log TO app_user;
-- 之後 CREATE DATABASE newdb 將自動擁有上述結構

tempdb 效能優化

  • **多資料檔**:ALTER DATABASE tempdb ADD FILE (NAME=tempdev2, FILENAME='T:\tempdb2.mdf', SIZE=1GB, FILEGROWTH=512MB); 建議檔案數 = 邏輯核心數(上限 8)。
  • **啟用瞬間檔案初始化**:授予 SQL Server 服務帳號 SeManageVolumePrivilege(執行個體屬性 → 進階 → 瞬間檔案初始化)。
  • **追蹤旗標 1117/1118**:同步擴展所有檔案、統一範圍配置(SQL Server 2016+ 預設啟用)。
  • **放置於快速儲存**:專用 NVMe/SSD,分離使用者資料檔 I/O。

msdb 維護

  • 定期清理歷史:EXEC sp_delete_backuphistory @oldest_date = '2023-01-01'; EXEC sp_purge_jobhistory @job_id = ...;
  • 備份 msdb 時包含 **Service Broker 主金鑰**(BACKUP MASTER KEY),否則還原後 Database Mail、加密功能失效。

常見誤區澄清

誤區正確認知
tempdb 可以備份還原tempdb 每次啟動重建,**備份無意義**,還原會導致版本存放區不一致。
model 只能建立空資料庫model 可預置**任何物件**(表、程序、使用者、權限、檔案群組),新資料庫繼承全部。
master 只存登入帳號master 還存**伺服器層級設定、端點、連結伺服器、資源調控器、所有資料庫元資料指標**。
ReportServer 可手動建立表嚴禁手動修改 ReportServer 結構,升級/修補會覆蓋,導致 SSRS 故障。

備份策略總結表

資料庫備份類型頻率保留特殊注意
masterFULLDaily + 異動後2 週單用戶模式恢復演練
modelFULLWeekly + 異動後1 個月範本變更即備份
msdbFULLDaily2 週含 Master Key 備份
tempdb———優化檔案配置、放置快速盤
ReportServerFULLDaily1 個月含加密金鑰

建立系統資料庫備份與恢復演練機制,是 SQL Server DBA 保障執行個體級可用性的核心職責。

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