萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> 資料庫綜合

SQL Server 系統資料庫與範例資料庫全解析:master、model、msdb、tempdb、Northwind、Pubs

安裝自動建立的六大資料庫

資料庫類型核心用途關鍵檔案備份策略
master系統伺服器級中繼資料:登入、端點、連結伺服器、配置選項、所有資料庫位置、啟動參數master.mdf / mastlog.ldf**每日完整備份**,配置變更後立即備份,單一使用者模式可重建
model系統**新資料庫範本**;CREATE DATABASE 實際上是複製 model 後擴展。修改 model (復原模式、排序規則、預設權限、使用者物件) 將影響後續所有新庫。model.mdf / modellog.ldf變更後備份,平時週備份
msdb系統Agent 作業、排程、警示、操作員、備份/還原歷史、SSIS 套件 (舊版)、Database Mail 記錄、維護計畫、Policy-Based Management 原則。msdbdata.mdf / msdblog.ldf每日完整備份,保留歷史依合規
tempdb系統暫存表 (#t, ##t)、表變數、游標、排序/雜湊溢寫、版本存儲 (RCSI/SI)、線上索引建立、Service Broker、彈性查詢暫存。每次啟動重建,不持久化。tempdb.mdf / templog.ldf (+ 多檔案)**不可備份/還原**,啟動自動重建
Northwind範例經典北風貿易公司銷售資料模型:客戶、訂單、產品、類別、供應商、員工、運送商。教學/測試/示範標準資料集。Northwind.mdf / Northwind.ldf可選備份,易重建
Pubs範例出版業資料模型:作者、書名、出版社、銷售、書店、職位、折扣。早期教學常用。pubs.mdf / pubs_log.ldf可選備份,易重建

關鍵操作與注意事項

master 災難恢復

  1. 啟動參數加入 -m (單一使用者) -T3608 (僅恢復 master)。
  2. RESTORE DATABASE master FROM DISK='...' WITH REPLACE;
  3. 重啟服務,驗證 sys.databases、sys.server_principals。

model 自訂範本最佳實踐

USE model;
ALTER DATABASE model SET RECOVERY FULL;
ALTER DATABASE model SET AUTO_CREATE_STATISTICS ON (INCREMENTAL=ON);
ALTER DATABASE model SET AUTO_UPDATE_STATISTICS_ASYNC ON;
-- 建立通用審計觸發器、預設權限角色等
CREATE USER [AppReader] WITHOUT LOGIN;
GRANT SELECT ON SCHEMA::dbo TO [AppReader];

msdb 維護

  • 定期清理過舊備份歷史:EXEC msdb.dbo.sp_delete_backuphistory @oldest_date = '2023-01-01';
  • 清理大量作業歷史:EXEC msdb.dbo.sp_purge_jobhistory @job_id = ..., @oldest_date = ...;
  • 啟用 Database Mail 取代舊 SQLMail。

tempdb 效能優化 (詳見文章 157981/158037)

  • 多資料檔 (CPU 核心數 ≤8)、預設大小、固定成長量、放置獨立 NVMe。
  • 啟用 TF 1117/1118 (2016+ 預設行為) 減少 SGAM/GAM 爭用。

範例資料庫現代替代

  • WideWorldImporters (Microsoft 官方現代範例):含 OLTP (WWOLTP) 與 OLAP (WWDW) 版本,支援 JSON、時間表、圖、Columnstore、RLS、動態遮罩等新特性。GitHub 下載。
  • AdventureWorks:經典多場景 (OLTP、DW、LT、DW2019) 大型範例,適合效能測試、BI 示範。

善用系統資料庫特性與現代範例庫,加速開發測試與教學示範。

copyright © 萬盛學電腦網 all rights reserved