0

現在クエリを実行している場合、ログイン名、ステータス、および SQL クエリを含むすべてのセッションのリストを取得しようとしています。以下のクエリは正常に機能しますが、現在クエリを実行している人のみが表示されます。

セッションがスリープ状態であっても、それらをすべて表示するにはどうすればよいですか? 結合のタイプを変更する必要があると思いますが、どれかわかりません。

SELECT c.session_id,
   s.login_name,
   s.status AS SessionStatus,
   r.status AS RequestStatus,
   st.text
 FROM sys.dm_exec_connections c
 INNER JOIN sys.dm_exec_sessions s
 ON c.session_id = s.session_id
 LEFT JOIN sys.dm_exec_requests r
 ON c.session_id = r.session_id
 CROSS APPLY 
 sys.dm_exec_sql_text(r.sql_handle) AS st
4

1 に答える 1

0

CROSS APPLY が問題です。基本的に、LEFT JOIN を内部結合に変えます。OUTER APPLY に変更してください。

于 2013-10-21T23:58:16.603 に答える