SELECT blocking_process_id AS [Blocked by SPID], session_id AS [SPID], wait_type AS [Wait Type], wait_time/60000 AS [Wait Time (Mins)], last_wait_type AS [Last Wait Type], blocking_session_id AS [Blocked SPID], cpu_time/1000 AS [CPU Time (Secs)], physical_io AS [Physical I/O], memory_usage AS [Memory Usage], login_time, host_name, program_name FROM sys.dm_exec_requests r INNER JOIN sys.dm_exec_sessions s ON r.session_id = s.session_id WHERE blocking_process_id <> 0
SELECT OBJECT_NAME(objectid) as TableName, IndexName, tc.session_id, wt.wait_duration_ms / 1000 AS WaitTimeSeconds, wt.wait_type, wt.resource_description, es.login_name, es.host_name, es.program_name, st.text FROM sys.dm_tran_locks AS tl INNER JOIN sys.dm_os_waiting_tasks AS wt ON tl.lock_owner_address = wt.resource_address INNER JOIN sys.partitions AS p ON tl.resource_associated_entity_id = p.hobt_id INNER JOIN sys.objects AS o ON p.object_id = o.object_id INNER JOIN sys.dm_exec_sessions es ON tl.request_session_id = es.session_id CROSS APPLY sys.dm_exec_sql_text(es.most_recent_sql_handle) AS st CROSS APPLY sys.dm_exec_query_plan(es.plan_handle) AS qp WHERE resource_database_id = DB_ID() ORDER BY WaitTimeSeconds DESC
注意: 在 BizTalk 环境中,执行以下操作可能会导致严重的问题: