-1
SQLクエリーまたはC#のいずれかでデータベースを照会して、現在データベースをロックしているヘッドブロッカーのリストまたはデータテーブルを取得する方法はありますか?ヘッドブロッカーをリストするSQLクエリー
SQLクエリーまたはC#のいずれかでデータベースを照会して、現在データベースをロックしているヘッドブロッカーのリストまたはデータテーブルを取得する方法はありますか?ヘッドブロッカーをリストするSQLクエリー
'MyDatabaseName'の代わりに次のSQLを使用します。データベースの名前、またはの値がNULLのいずれかです。
DECLARE
@Database NVARCHAR(MAX) = 'MyDatabaseName'
SELECT
s.login_name AS [Login]
, ISNULL(db_name(p.dbid), N'') AS [Database]
, ISNULL(t.task_state, N'') AS [Task State]
, ISNULL(r.command, N'') AS [Command]
, s.cpu_time AS [Total CPU (ms)]
, (s.reads + s.writes) * 8/1024 AS [Total Physical I/O (MB)]
, s.memory_usage * 8192/1024 AS [Memory Use (KB)]
FROM
sys.dm_exec_sessions AS s
LEFT OUTER JOIN sys.dm_exec_requests AS r ON (s.session_id = r.session_id)
LEFT OUTER JOIN sys.dm_os_tasks AS t ON (r.session_id = t.session_id AND r.request_id = t.request_id)
LEFT OUTER JOIN sys.dm_exec_requests AS r2 ON (s.session_id = r2.blocking_session_id)
LEFT OUTER JOIN sys.sysprocesses AS p ON (s.session_id = p.spid)
WHERE
r2.session_id IS NOT NULL
AND (r.blocking_session_id = 0 OR r.session_id IS NULL)
AND (@Database IS NULL OR ISNULL(db_name(p.dbid), N'') = @Database)
ORDER BY
s.cpu_time DESC
注:NULLの値はそのサーバー内のすべてのデータベースをチェックします。
あなたの投稿タイトルでGoogle検索を試みましたか? – dfundako