執行 perfmon.msc → 「效能監視器」→ 點擊「+」加入計數器 → 選取 SQL Server: 開頭的物件。
| 物件:計數器 | 用途 | 健康門檻 | 異常時建議行動 |
|---|---|---|---|
| SQLServer:Buffer Manager → Buffer cache hit ratio | 資料頁面在緩衝區命中率 | > 90% (OLTP 建議 > 99%) | 低於 90% → 增加記憶體、檢查查詢計畫、索引碎片 |
| Memory → Pages/sec | 記憶體與磁碟分頁交換率 | 0~20 (持續) | 持續 > 20 → 記憶體不足或其他程式搶佔,配合 Buffer hit ratio 判斷 |
| Memory → Available Bytes | 可用實體記憶體 | > 5 MB (最低) | 低於 5 MB → SQL Server 記憶體壓力大,可能觸發緩衝區刷新 |
| PhysicalDisk → % Disk Time | 磁碟忙碌百分比 | < 55% | 持續 > 55% → I/O 瓶頸,檢查查詢計畫、索引、考慮分離資料/日誌/TempDB 檔案 |
| PhysicalDisk → Avg. Disk Queue Length | 平均磁碟佇列長度 | 每顆實體磁碟 < 2 | 若 RAID 10 (4 顆盤) 佇列 10 → 單盤 2.5 > 2,I/O 瓶頸,同上處理 |
| Processor → % Processor Time | CPU 使用率 | < 80% (持續) | 持續 > 80% → 檢查高耗 CPU 查詢、索引重建、統計資料更新、死鎖、參數嗅探 |
| System → Processor Queue Length | CPU 執行緒等待佇列 | 每顆邏輯 CPU < 2 | 2U 機器 (2 顆 CPU) 佇列 > 4 → CPU 壓力大,同上處理 |
sp_WhoIsActive、Extended Events、Query Store 定位具體查詢。SQLServer:Transactions → Free Space in tempdb (KB)。