等待类型 PREEMPTIVE_XE_CALLBACKEXECUTE 是什么意思?

msg*_*sme 7 sql-server-2008 sql-server extended-events wait-types

我在上周有两个实例,其中DROP扩展事件会话的命令花费了一天的时间来完成,等待:PREEMPTIVE_XE_CALLBACKEXECUTE

谁能解释一下这种等待类型是什么意思?

更多背景信息: 首先,我运行了一个 T-SQL 命令来删除会话,一天后它完成了。使用 时sp_whoisactive,我看到查询正在等待PREEMPTIVE_XE_CALLBACKEXECUTE

在此期间,对象资源管理器收集元数据的查询被阻止并收到锁定超时,但没有其他抱怨(或者我当时认为)。

我试图在星期五放弃另一个会话,并且发生了相同的行为,只是它不像第一次事件那样在一天后消失。相反,我今天早上发现客户端应用程序无法连接。它被DROP EVENT SESSION查询阻止了。

重新启动 SQL 服务清除了阻塞查询。

我找不到任何有助于诊断这是什么等待类型的东西……以及为什么我的事件会话不会像它们应该的那样下降。你能帮我吗?

服务器信息: SQL 2008 R2 Enterprise with SP2

Aar*_*and 5

我相信此问题已在SQL Server 2008 R2 SP2 累积更新 #1 (10.50.4260) 中得到解决:

KB #2511963 - 修复:如果查询更改或停止扩展事件会话,则查询在 SQL Server 2008 或 SQL Server 2008 R2 中停止响应

他们没有提到您的特定等待类型,但我看到其他人已经并表示此修复程序解决了他们的问题。因此,如果您实际上是在没有 CU (10.50.4000) 的 SP2 上,您应该至少考虑该 CU 或更新的 CU(2008 R2 SP2 的最新 CU 是 CU7 (10.50.4286))。