0

我目前正在使用 ETW 在 SQL Server 2008 上监视(并最终记录)SQL 语句的执行。我要监视的事件是存储过程执行、INSERT、UPDATE、DELETE 和... SELECT 语句。

我可以通过创建具有以下事件的 EVENT SESSION 来监视 SP、INSERT、UPDATE 和 DELETE:

  • 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 语句?我知道这会产生很多活动,但是一旦我可以监控语句,我将尝试通过添加一些过滤操作来微调野兽,以减少实际记录的事件数量。

提前致谢!

4

1 回答 1

0

所有,我一定忽略了一些东西,因为似乎 sql_statement_completed确实监控了 SELECT 语句。

于 2011-09-01T13:14:35.140 回答