2011-08-31 76 views
0

我目前正在使用SQL Server 2008上的ETW監視(並最終記錄)SQL語句的執行情況。我期待監視的事件是存儲過程執行,INSERT,UPDATE,DELETE和... SELECT語句。使用ETW和EVENT SESSION監視SELECT語句

我能夠監控的SP,INSERT,UPDATE和通過創建具有下列事件的事件會話中刪除:

  • sqlserver.sp_statement_completed
  • sqlserver.sp_statement_starting
  • sqlserver.sql_statement_completed
  • sqlserver.sql_statement_starting

我還包括一個行爲離子與每個事件到實際的SQL語句添加到事件:sqlserver.sql_text

我會基本上看起來是這樣的:

CREATE EVENT SESSION SomeTestEventSession ON SERVER 
ADD EVENT sqlserver.sp_statement_completed (ACTION (sqlserver.sql_text) WHERE sqlserver.database_id > 4), 
(...) 

什麼事件我要補充的部分之外的上述監視簡單SELECT語句在我的數據庫中?我知道這會產生很多活動,但是一旦我可以監控這些語句,我將嘗試通過添加一些過濾操作來減少實際記錄的事件數量,從而優化野獸。

在此先感謝!

回答

0

所有的,我一定忽略了一些東西,因爲看起來sql_statement_completed 確實監聽SELECT語句。