tempdb のタスクごとの使用状況(dm_db_task_space_usage)

TechEd 2009 での私のシアターセッション「SQL Server 動的管理ビュー再入門」で紹介した「tempdb のタスクごとの使用状況」を取得できるスクリプトです。DMV(動的管理ビュー)の dm_db_task_space_usage をクエリしています。

SELECT * FROM sys.dm_db_task_space_usage
-- dm_exec_requests と JOIN して接続情報
-- dm_exec_query_plan で実行プランを取得可能
SELECT query_plan, text, *
 FROM sys.dm_db_task_space_usage t
  INNER JOIN sys.dm_exec_requests r
    ON  t.session_id = r.session_id
    AND t.request_id = r.request_id
     CROSS APPLY
      sys.dm_exec_sql_text( sql_handle )
       CROSS APPLY sys.dm_exec_query_plan (plan_handle)