| DMV 分類 | 代表檢視 | 核心指標 |
| 記憶體 | sys.dm_os_memory_clerks, sys.dm_os_buffer_descriptors | 緩衝池使用、計畫快取、CLR 記憶體 |
| 鎖/阻塞 | sys.dm_tran_locks, sys.dm_os_waiting_tasks | 鎖模式、等待資源、阻塞鏈 |
| 交易 | sys.dm_tran_active_transactions, sys.dm_tran_session_transactions | 交易狀態、隔離級別、版本存儲 |
| 網路 | sys.dm_exec_connections, sys.dm_exec_sessions | 連線數、通訊協定、加密、延遲 |
| I/O | sys.dm_io_virtual_file_stats, sys.dm_io_pending_io_requests | 檔案讀寫延遲、吞吐、待處理 I/O |
| 查詢執行 | sys.dm_exec_requests, sys.dm_exec_query_stats, sys.dm_exec_plan_attributes | 執行中請求、計畫快取統計、編譯/執行時間 |
| 索引/統計 | sys.dm_db_index_usage_stats, sys.dm_db_missing_index_* | 索引使用頻率、缺失索引建議 |
主動監視模式:排程查詢 DMV → 閾值告警 → 自動收集診斷資料 (查詢計畫、等待統計) → 知識庫比對建議 → DBA 介入或自動修正 (如更新統計、重組索引)。
3. SQL 管理物件 (SMO) : 程式化管理的新世代
- 全面物件模型:涵蓋伺服器、資料庫、安全性、複寫、Agent、備份/還原、郵件、登入/使用者/角色/權限等所有管理面。
- .NET Framework 組件:
Microsoft.SqlServer.Smo.dll,支援 C#、VB.NET、PowerShell 呼叫。
- 優於舊版 DMO:更安全 (權限檢查)、更可靠 (連線重試)、更擴展 (支援新功能)、效能更佳 (延遲載入)。
- 典型自動化場景:
// C# 範例:建立資料庫、設定復原模式、排程備份作業
Server srv = new Server(".");
Database db = new Database(srv, "MyDB");
db.RecoveryModel = RecoveryModel.Full;
db.Create();
Backup bk = new Backup();
bk.Action = BackupActionType.Database;
bk.Database = "MyDB";
bk.Devices.AddDevice(@"D:\Backup\MyDB.bak", DeviceType.File);
bk.SqlBackup(srv);
二、可用性:高可用架構的新里程碑 (續集預告)
下一篇將深入解析:資料庫鏡像 (Database Mirroring)、容錯移轉叢集增強、資料庫快照、線上索引/線上結構描述變更 — 這些創新將 RPO/RTO 推向新高度。
三、擴展性與安全性:架構級突破 (續集預告)
- 擴展性:分割表/索引、64 位元平台原生支援、大記憶體感知、資源調控器。
- 安全性:原生加密 (TDE 前身)、細粒度權限 (結構描述/物件/資料行)、憑證/非對稱金鑰管理、表面區域配置工具、共用準則模式 (Common Criteria)。
總結
SQL Server 2005 易管理性躍升的核心在於:統一介面 (SSMS) + 內部可見性 (DMV) + 程式化介面 (SMO) 三位一體。這不只是工具升級,而是將 DBA 從「手工作業」解放為「自動化工程師」的關鍵轉折點。
- 上一篇文章: SQL BETWEEN 運算子完全指南:包含邊界、否定邏輯與資料型別陷阱
- 下一篇文章: SQL Server 密碼加密機制安全性分析:從舊版弱點到現代防護的演進
Copyright ©
程式碼之家 All Rights Reserved