SELECT
?? WT.session_idASwaiting_session_id,
??(SELECT/*convert(varchar,c.connect_time,120)+' IP='+*/c.client_net_address+'/'+s.host_name+','+s.login_name
?????FROMsys.dm_exec_connectionsc
????INNERJOINsys.dm_exec_sessions sONs.session_id=c.session_id
????WHERE c.session_id= WT.session_id)ASwaiting_session_info,
?? DB_NAME(TL.resource_database_id)AS DatabaseName,
?? WT.wait_duration_ms,
?? --WT.waiting_task_address,kill 1014
?? TL.request_mode,
??(SELECTSUBSTRING(ST.text,(ER.statement_start_offset/2)+ 1,
?????((CASE ER.statement_end_offset
????????WHEN-1THENDATALENGTH(ST.text)
????????ELSE ER.statement_end_offset
???????END- ER.statement_start_offset)/2)+ 1)
?????FROMsys.dm_exec_requestsAS ER
????CROSSAPPLYsys.dm_exec_sql_text(ER.sql_handle)AS ST
????WHERE ER.session_id= TL.request_session_id)
?????AS waiting_query_text,
?? TL.resource_type,
?? --TL.resource_associated_entity_id,
?? WT.wait_type,
?? WT.blocking_session_id,'+s.login_name
?????FROMsys.dm_exec_connectionsc
????INNERJOINsys.dm_exec_sessions sONs.session_id=c.session_id
????WHERE c.session_id= WT.blocking_session_id)ASblocking_session_info,
?? --WT.resource_description AS blocking_resource_description,
?? CASE WHEN WT.blocking_session_id>0THEN
?????(SELECT ST2.textFROMsys.sysprocessesAS SP
????????????CROSSAPPLYsys.dm_exec_sql_text(SP.sql_handle)AS ST2
???????WHERE SP.spid= WT.blocking_session_id)
?? ELSE NULL
?? END ASblocking_query_text
? FROMsys.dm_os_waiting_tasksAS WT
? JOINsys.dm_tran_locksAS TLON WT.resource_address=TL.lock_owner_address
WHERE WT.wait_duration_ms>5000
??AND WT.session_id> 50;