先週、拡張イベントセッションのDROP
コマンドが完了するまでに1日以上かかる2つのインスタンスがありました:PREEMPTIVE_XE_CALLBACKEXECUTE
。
この待機タイプの意味を誰かが説明できますか?
詳細な背景情報:最初のインスタンスでは、T-SQLコマンドを実行してセッションを削除し、1日後に完了しました。 sp_whoisactive
を使用すると、クエリがPREEMPTIVE_XE_CALLBACKEXECUTE
を待機していることがわかりました。
この間、メタデータを収集するためのオブジェクトエクスプローラーのクエリはブロックされ、ロックタイムアウトを受け取りましたが、他の不満はありませんでした(またはそのときに私は考えました)。
金曜日に別のセッションをドロップしようとすると、最初のイベントのように1日後に消えないだけでなく、同じ動作が発生しました。代わりに、今朝、クライアントアプリケーションが接続できないことがわかりました。 DROP EVENT SESSION
クエリによってブロックされていました。
SQLサービスを再起動すると、ブロッキングクエリがクリアされました。
この待機タイプが何であるかを診断するのに役立つものは何も見つかりません...なぜイベントセッションが期待どおりにドロップしないのですか?手伝ってくれますか?
サーバー情報:SQL 2008 R2 Enterprise with SP2
この問題は SQL Server 2008 R2 SP2累積アップデート#1 (10.50.4260)で修正されたと思います:
KB#2511963-FIX:クエリが拡張イベントセッションを変更または停止すると、SQL Server 2008またはSQL Server 2008 R2でクエリが応答を停止する
彼らはあなたの特定の待機タイプについて言及していませんが、この修正で問題が解決したと述べた他の待機者を私は見ました。したがって、文字通りCUのないSP2(10.50.4000)を使用している場合、少なくともそのCU、またはそれ以降の( 2008 R2 SP2の最新のCUはCU7 (10.50.4286))。