| 結構描述 | 核心資料表 | 用途 |
| core | source_info, snapshot_info | 收集來源、快照中繼資料 |
| snapshots | disk_usage, query_stats, server_activity | 各收集組快照資料 |
| custom_snapshots | 自訂收集組資料 | 擴充性 |
報表與分析
- SSMS → Management → Data Collection → 右鍵收集組 → Reports
- 內建報表:磁碟使用趨勢、查詢統計歷史、伺服器活動時間序列
- 自訂報表:查詢 MDW 資料表,整合 SSRS/Power BI
擴充:自訂收集組
-- 範例:收集特定資料表大小趨勢
-- 1. SSMS → Data Collection → 右鍵 New → Custom Collection Set
-- 2. 類型:Generic T-SQL Query Collector
-- 3. 查詢:
SELECT
OBJECT_SCHEMA_NAME(p.object_id) AS SchemaName,
OBJECT_NAME(p.object_id) AS TableName,
p.index_id,
SUM(a.total_pages) * 8.0 / 1024 AS SizeMB
FROM sys.partitions p
JOIN sys.allocation_units a ON p.hobt_id = a.container_id
WHERE p.index_id IN (0,1) -- Heap + Clustered
GROUP BY p.object_id, p.index_id
-- 4. 設定排程、快取模式、保留期
前置需求與限制
| 需求 | 說明 |
| SSIS 已安裝 | 收集器底層為 SSIS 封裝 |
| SQL Agent 啟動 | 排程上傳/清除依賴 Agent 作業 |
| MDW 資料庫 | 建議獨立資料庫,定期備份 |
| 版本限制 | 標準版/企業版支援;Express 版需手工替代 |
結語
資料收集器與 MDW 將「監控腳本開發+排程+歷史儲存+報表」標準化、產品化。啟用三大系統收集組即可獲得零開發成本的效能基準線與趨勢分析;自訂收集組滿足業務特有指標。配合 SSRS/Power BI 視覺化,構建從「被動救火」到「主動治理」的資料庫營運體系。
- 上一篇文章: SQL Server 動態交叉表(PIVOT)實戰範例
- 下一篇文章: SQL Server 檔案與檔案組管理實戰:記憶體配置、多檔案組架構與 tempdb 優化
Copyright ©
程式碼之家 All Rights Reserved