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
我相信此问题已在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))。