19.2.1 了解SQL Server Profiler
SQL Server Profiler 是圖形化實時監視工具,能幫助系統管理員監視數據庫和服務器的行為, 比如死鎖的數量,致命的錯誤,跟蹤Transact-SQL 語句和存儲過程。可以把這些監視數據存入表或文件中,並在以後某一時間重新顯示這些事件來一步一步地進行分析。
通常我們使用SQL Server Profiler 僅監視某些插入事件,這些事件主要有:
- 登錄連接的失敗、成功或斷開連接;
- DELETE、 INSERT、 UPDATE 命令;
- 遠程存儲過程調用(RPC) 的狀態;
- 存儲過程的開始或結束,以及存儲過程中的每一條語句;
- 寫入SQL Server 錯誤日志的錯誤;
- 打開的游標;
- 向數據庫對象添加鎖或釋放鎖。
我們之所以不監視過多的事件,原因在於對事件進行監視往往增加系統的負擔,並且使跟蹤文件很快增長成大容量文件,從而引起不必要的麻煩。
19.2.2 創建跟蹤
在SQL Server 中可以使用SQL Server Profiler 創建跟蹤,也可以使用跟蹤創建向導或是擴展存儲過程。在這裡我們將介紹如何使用SQL Server Profiler 來創建跟蹤。
(1) 啟動SQL Server Profiler (與啟動SQL Server Enterprise Manager 一樣),從File 的下拉菜單中選擇New, 再選擇Trace 選項,此時打開Trace PropertIEs 對話框,如圖19-2 所示。
在該對話框中定義跟蹤的名稱、類型、運行跟蹤的SQL Server 以及跟蹤輸出數據的存儲方式。其中各選項的含義為:
- Shared: 表示所有被允許登錄到運行SQL Server Profiler 服務器的用戶都可以使用該跟蹤;
- Private: 表示只有當前創建者可以使用該跟蹤;
- Capture to file: 表示將跟蹤結果存儲到文件中,可減少進行跟蹤時的內存開銷;
- Capture to table: 表示將跟蹤結果存儲到表中,這極易引起較大的額外系統開銷。
(2) 選中Events 標簽頁,如圖19-3 所示該對話框用來確定將跟蹤哪些事件。在 Available Events 下的窗口中選擇要跟蹤的事件,底部的方框內便顯示出該事件的含義,單擊Add ,增加到Selected Events 事件中;
(3) 選中Data Columns 標簽頁,如圖19-4 所示。在該對話框可以選擇跟蹤事件哪些數據列,通常選擇那些我們比較關心的列。