作者:汪洋 (Richard Wang),資深架構師、.NET 技術專家,HP 技術架構師兼資訊分析師,51CTO/博客園/ITPUB/ChinaUnix 知名專家,CSDN/InfoQ 特約作家,多次受邀技術大會演講。
資深 DBA 與新手分水嶺在於:知道用什麼工具最快定位問題。掌握 Profiler 可:
Profiler 非萬能,但為診斷分析核心工具之一,取決於技術人員判斷。
| 術語 | 定義 |
|---|---|
| Event (事件) | 引擎內部觸發的活動 (如 RPC:Completed, SP:StmtStarting) |
| Data Column (資料欄) | 事件攜帶的屬性 (如 TextData, Duration, CPU, Reads, SPID) |
| Filter (過濾器) | 依欄位值篩選事件 (如 Duration > 1000ms, DatabaseID = 5) |
| Template (範本) | 預定義的事件/欄位/過濾器組合 (如 TSQL_Duration, Tuning) |
| Trace (追蹤) | 一次運行中的事件收集會話,可存檔 (.trc) 或寫入資料表 |
預設僅 sa 與 sysadmin 固定伺服器角色成員可用。SQL 2005+ 可授權他人:
-- 授權
GRANT ALTER TRACE TO [LoginName];
-- 回收
REVOKE ALTER TRACE TO [LoginName];
ALTER TRACE 權限即控制 Profiler/Trace 使用資格。
建議在測試環境跟隨實作,切勿在生產環境初學操作,以免造成效能衝擊。