SQL Server Profiler(事件探查器)是資料庫管理員不可或缺的效能監控工具。它能捕捉資料庫引擎執行的特定事件,例如查詢執行、預存程序呼叫、錯誤發生等,並將這些寶貴的資訊儲存至檔案或資料表,供後續分析、疑難排解與效能調校之用。本文將逐步引導您完成建立追蹤的全過程。
建立追蹤的詳細步驟
- 啟動工具:從 [開始] 功能表依序選擇 [所有程式] > [Microsoft SQL Server] > [SQL Server Management Studio]。
- 開啟 Profiler:在 SSMS 的 [工具] 功能表中點選 [SQL Server Profiler]。
- 建立新追蹤:Profiler 主視窗開啟後,從 [檔案] 功能表選擇 [新增追蹤]。
- 連線至伺服器:系統會提示您連線至欲監控的 SQL Server 執行個體。輸入驗證資訊(伺服器名稱、驗證模式、登入帳號/密碼),點擊 [連線]。
- 命名追蹤:在 [追蹤名稱] 文字方塊輸入具識別度的名稱,方便後續管理。
- 選擇範本:從 [使用範本] 下拉清單挑選預設範本(如 Standard、Tuning、TSQL_Replay 等),或選擇 [空白] 自行定義。範本決定了預設擷取的事件與資料欄。
- 設定儲存目的地:
- 勾選 [儲存至檔案] 將追蹤輸出為 .trc 檔,指定路徑與檔名,並可設定最大檔案大小、啟用檔案滾動更新等選項。
- 或勾選 [儲存至資料表] 寫入資料庫資料表,便於以 T-SQL 查詢分析。
- 自訂事件選取(事件選取頁籤):點擊 [事件選取] 頁籤,核對或調整要擷取的事件類別(如 SQL:BatchCompleted、RPC:Completed、Deadlock Graph 等)與資料欄(TextData、Duration、CPU、Reads、Writes、SPID、LoginName 等)。勾選 [顯示所有事件] 與 [顯示所有資料欄] 可檢視完整清單。可進一步設定資料行篩選(如僅擷取特定資料庫、特定登入、Duration 大於閾值),減少噪音與檔案體積。
- 啟動追蹤:點擊 [執行] 開始擷取。Profiler 視窗即時顯示事件串流。監控結束時,從 [檔案] 功能表選擇 [停止追蹤],或關閉視窗。
常用內建範本用途速查
- Standard(標準):廣泛擷取連線/斷線、預存程序、T-SQL 批次等資訊,適合一般疑難排查。
- Tuning(調校):擷取 Database Engine Tuning Advisor 所需的工作負載資料,專為索引與統計資訊建議優化設計。
- TSQL_Replay:記錄完整的重送所需資訊(含登入/登出、批次文字、參數等),供後續在測試環境重播壓力測試。
實務小撇步
- 生產環境建議採用「儲存至檔案」並啟用滾動更新,避免單一巨大檔案難以處理。
- 善用篩選條件(DatabaseName、ApplicationName、Duration > 1000ms 等)大幅降低負擔。
- 長時間追蹤請排程於離峰時段,或改用 Extended Events(XEvents)取代,負擔更低。
- 追蹤檔(.trc)可用
fn_trace_gettable 函數匯入資料表進行 SQL 分析。
善用 SQL Server Profiler 能讓您洞悉資料庫內部運作,快速定位效能瓶頸與異常行為,是 DBA 與開發人員的必備技能。