日期:2014-05-17 浏览次数:20610 次
/*
正在运行中的语句,如果连接处于空闲状态。就不会被返回。
*/
SELECT p.session_id ,
p.request_id ,
p.start_time ,
p.status ,
p.command ,
p.blocking_session_id ,
p.wait_type ,
p.wait_time ,
p.wait_resource ,
p.total_elapsed_time ,
p.open_transaction_count ,
p.transaction_isolation_level ,
SUBSTRING(qt.text, p.statement_start_offset / 2,
( CASE WHEN p.statement_end_offset = -1
THEN LEN(CONVERT(NVARCHAR(MAX), qt.text)) * 2
ELSE p.statement_end_offset
END - p.statement_start_offset ) / 2) AS 'SQL statement' ,
p.statement_start_offset ,
p.statement_end_offset ,
batch = qt.text
FROM master.sys.dm_exec_requests p
CROSS APPLY sys.dm_exec_sql_text(p.sql_handle) AS qt
WHERE p.session_id > 50
/*
空闲连接上次运行的最后一条语句,缺点是返回整个批处理语句,而不是当前正在执行的子句。
*/
DBCC INPUTBUFFER(spid)
------解决方案--------------------