MSDNによると、sys.dm_exec_requests
のrequest_idは
「リクエストのID。セッションのコンテキストで一意です。nullにすることはできません。」
何気ない観察から、それは常に0のように見えます。
特定のセッションで、このIDが0を超える方法を教えてください。これをいくつかのSQLで再現することは可能ですか?
ありがとう!
特定のセッションで、このIDが0を超える方法を教えてください。これをいくつかのSQLで再現することは可能ですか?
ゼロ以外のrequest_idは、 Multiple Active Result Sets(MARS) が有効な接続を示します。 MARSでは、1つの接続に複数のアクティブなステートメントがあり、ステートメントの実行がインターリーブされます。
SSMSから、[オプション->追加の接続パラメータ]でMultipleActiveResultSets=True
を指定して、新しいクエリウィンドウ接続を開きます。次に、ウィンドウで以下のクエリを実行します。ゼロ以外のrequest_id値が表示されます。
SELECT *
FROM sys.dm_exec_requests
WHERE session_id = @@SPID;