【发布时间】:2020-11-13 01:21:30
【问题描述】:
大家好,我想找到一种方法来识别为 Microsoft SQL Server 中的扩展事件执行的查询(以仅使用已执行的查询过滤扩展事件)
如果我这样查询 SQL Server 中的系统视图:
SELECT session_id, connection_id
FROM sys.dm_exec_requests
WHERE session_id = @@SPID
我得到当前正在执行的查询的 connection_id,它在 SQL Server 重新启动之前是唯一的。
但扩展事件有一个不同的值,称为 'sqlserver.client_connection_id',它与表 'sys.dm_exec_requests' 中的 'connection_id' 不同。
你知道我在哪里可以找到系统表中的“sqlserver.client_connection_id”吗?或其他解决方案来唯一地识别已执行的查询?
【问题讨论】:
-
您能否更详细地解释一下“无法确定执行的查询”是什么意思?
-
从一些 cmets 中,您是否尝试:(1) 捕获任何错误,以及 (2) 对于这些错误,确定是哪个查询生成了它们,并且可以选择 (3) 确定是否是您的查询还是别人的?您的问题不清楚 - 您能否分享您的扩展事件定义并说明它与您的查询有何关系?
标签: sql sql-server extended-events system-tables system-views