怪しいセッションがどんなクエリを発行しているか確認する
やること
code:sql
SELECT
er.session_id, start_time, er.status, command
, blocking_session_id, wait_type
, last_wait_type, er.lock_timeout
, er.deadlock_priority, es.login_time
, es.program_name, es.status as session_status
, es.row_count, wait_time
, er.total_elapsed_time, text
FROM
sys.dm_exec_requests AS er
OUTER APPLY sys.dm_exec_sql_text(sql_handle)
LEFT JOIN sys.dm_exec_sessions AS es
ON er.session_id = es.session_id
WHERE
er.session_id IN (
SELECT session_id
FROM sys.dm_os_waiting_tasks
WHERE blocking_session_id IS NOT NULL
)
OR er.session_id IN (
SELECT blocking_session_id
FROM sys.dm_os_waiting_tasks
WHERE blocking_session_id IS NOT NULL
);
table:result(一部)
session_id status blocking_session_id wait_type last_wait_type wait_time text
56 suspended 57 LCK_M_S LCK_M_S 723656 select * from users;
57 running 0 « NULL » MEMORY_ALLOCATION_EXT 0 select * from users;
ログ
ロックをかけた側はわかった
ロックをかけられた側はここから推測できる?