0

为了跟踪我在应用程序上的操作,我正在使用 sql profiler。

工作正常,我正在连接到服务器,过滤主机名,并且改变我在应用程序上单击的内容将反映为分析器中的 sql 代码。

但是当我尝试使用扩展事件来实现相同的目标时,由于某种原因它不起作用。在我开始会话后,我会去“观看实时数据”,但是,无论我在应用程序上做什么,它都不会反映在 SSMS 查询窗口中。

如果我在 SSMS 中运行某些东西,它会反映出来。但在使用应用程序时不会。

你知道我在这里想念什么吗?

更新:

添加了跟踪定义:

CREATE EVENT SESSION [test] ON SERVER 
ADD EVENT sqlserver.rpc_completed(SET collect_data_stream=(1),collect_output_parameters=(1),collect_statement=(1)
    ACTION(sqlserver.database_id,sqlserver.database_name)),
ADD EVENT sqlserver.rpc_starting(SET collect_data_stream=(0),collect_statement=(1)
    ACTION(sqlserver.database_id,sqlserver.database_name,sqlserver.session_id,sqlserver.sql_text))
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)
GO

在此处输入图像描述

更新 2

如果我同时将它与 sql profiler(附加片段)进行比较 - 在​​ Xevents 中我只会看到SQL:Batch Starting与我无关的事务。

那意味着什么?

在此处输入图像描述

4

0 回答 0