SQLServerで接続中のセッションや実行中のSQLを調べるSQL

最終更新日:2024‐08-08

昔、DWH的なプロジェクトにいたときに色々調べて作ったSQLです。やれ、「夜間バッチが終わらない。今、SQLどこ走ってんだ!?」、とか「とんでもない重いSQL投げてんのどのユーザーだ!?」とかを調べるためにざっくり色々表示します。

SQLServer用です。

SELECT
    sql.*
    , req.status
    , req.command
    , req.start_time
    , ses.host_name
    , ses.login_name
    , ':' AS delimiter
    , req.*
    , ses.* 
FROM
    sys.dm_exec_requests req 
    CROSS APPLY sys.dm_exec_sql_text(req.sql_handle) sql
    , sys.dm_exec_sessions ses 
WHERE
    req.session_id = ses.session_id

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です