1

さまざまなパフォーマンス関連のイベントが発生したときにログに記録するように、Service Broker Queue でイベント通知を構成しています。これらの 1 つが Missing_Join_Predicate です。

このイベントの XML ペイロードには、原因 (TSQL、クエリ プラン、オブジェクト ID など) を特定するのに役立つ情報が何も含まれていないため、キューを処理する手順で、TransactionID を使用して dm_exec_requests をクエリし、dm_exec_query_plan を取得しようとしています。 dm_exec_requests.transactionid がイベントからの TransactionID であるクエリ プランと TSQL。

コードはデータをキャッチしません。

クエリからフィルターを削除すると (つまり、dm_exec_requests と dm_exec_query_plan からすべての行を収集すると)、返されたレコードがあることが示されますが、問題の TransactionID のレコードはありません。

私がやろうとしていることは可能ですか?どこが間違っているのでしょうか?!

4

1 に答える 1