SQL Server Profiler中經常使用的跟蹤事件

1、Errors and Warnings: Attentionhtml

當用戶意外地同SQL Server斷開鏈接時,通常就會激發該事件。最多見的緣由是客戶庫超時,而一般來講,一個30秒的計時器在提交查詢時便啓動了。若是查詢超時,就當即發現,所以這個事件使用很頻繁。服務器

 

2、Errors and Warnings: Exception 和 Errors and Warnings: User Error Message函數

異常和用戶錯誤信息一塊兒出現,通常都一塊兒跟蹤這兩個類。當出現用戶異常時,這兩個事件就會被激發。異常事件包含錯誤數、嚴重性和狀態,而用戶錯誤信息事件包含錯誤的實際文本。性能

 

3、Locks: Lock:Acquired 、 Locks: Lock:Released 和 Locks: Lock:Escalationui

主要在解決死鎖的同時使用這些事件,使用戶知道在一個事務期間SQL Server用了什麼鎖,以及這些鎖被保持了多長時間。若是用戶對SQL Server各類隔離級別的運轉感興趣,能夠監視這些事件。使用這些事件時,要確保對特定的目標spid進行過濾,以避免獲得太多的信息而不方便處理。scala

 

4、Security Audit: Audit Login 和 Security Audit: Audit Logouthtm

一、這兩個事件天天都會用到,尤爲是在作性能調校時十分有用。經過監視這兩個事件及存儲過程和T-SQL類別中的各類查詢事件,用戶能夠更方便地在單個會話的基礎上積聚信息。對象

二、要檢測被激發的事件是否基於一個聚集鏈接,能夠查看EventSubClass列的值是否爲2。事件

 

5、Stored Procedures: RPC:Starting 和 Stored Procedures: RPC:Completed事務

當一個客戶應用程序執行一個遠程過程調用時(RPC:一般是一個帶參數的查詢或存儲過程調用,具體是哪一個取決於使用的鏈接庫),這些事件就會被激發。


6、Stored Procedures: SP:StmtStarting 和 Stored Procedures: SP:StmtCompleted

一、在一個複雜的充滿了流程控制語句的存儲過程當中,有時很難肯定到底選擇了哪條訪問路徑。

二、每次執行一個存儲過程當中的一條語句時,這些事件就會被激發,爲用戶顯示發生事件的全景。這些事件可能會生成極其大量的數據。所以,最好僅在已通過濾了該跟蹤以後再使用這些事件,這種過濾可經過一個正在跟蹤的給定spid或一個特定的存儲過程名稱或對象ID(相應地使用ObjectName或ObjectId列)來完成。

 

7、Stored Procedures: SP:Recompile

SQL Server包含了一個幫助跟蹤計數器(SQL Server: SQL統計值: SQL重編譯/秒),若是發現該計數器的值居高不下,就能夠考慮使用這個事件類來進行性能分析,以便肯定究竟是哪一個存儲過程引發了故障。

 

8、Stored Procedures: SP:Starting

一、每當調用一個存儲過程或函數時,該事件類就會被激發,不管是客戶直接調用仍是被其餘的存儲過程或函數嵌套調用。

二、因爲該事件類不填充信息至讀、寫和CPU列,所以它對性能調校並無太大的用處,可是也有價值。

三、常用這個類來獲取給定時間間隔內一個特定存儲過程被調用的次數統計。

 

9、Transactions: SQL Transaction

一、這個事件能夠用來監視事務的啓動、提交和回滾。

二、經過查看EventSubClass列能夠肯定事務處於何種狀態,0、一、2分別表明事務的啓動、提交和回滾。

三、因爲每次數據修改都會佔用一個事務,所以這個事件可能會在一臺忙碌的服務器上形成大量待返回的數據。若是可能,要確保基於正在跟蹤的一個特定spid來過濾跟蹤。



參考資料: SQL Server Profiler中經常使用的跟蹤事件   http://www.studyofnet.com/news/1057.html

相關文章
相關標籤/搜索