with OpenQueries as (SELECT r.cpu_time ,r.logical_reads, r.session_id, r.writes FROM sys.dm_exec_sessions AS s JOIN sys.dm_exec_requests AS r ON s.session_id =r.session_id AND s.last_request_start_time=r.start_time WHERE is_user_process = 1 AND s.session_id <> @@SPID) SELECT r.session_id , r.blocking_session_id , d.name AS [db_name] , s.login_name , SUBSTRING(h.text, (r.statement_start_offset/2)+1 , ((CASE r.statement_end_offset WHEN -1 THEN datalength(h.text) ELSE r.statement_end_offset END - r.statement_start_offset)/2) + 1) AS text , r.command , r.cpu_time-t.cpu_time AS CPUDiff , r.logical_reads-t.logical_reads AS ReadDiff , r.writes-t.writes AS WriteDiff , r.wait_type , r.wait_time , r.last_wait_type , r.wait_resource , r.granted_query_memory , r.reads , r.writes, r.row_count, s.[host_name] , s.[program_name] , h.text as full_sql FROM sys.dm_exec_sessions AS s JOIN sys.dm_exec_requests AS r ON s.session_id =r.session_id AND s.last_request_start_time=r.start_time LEFT JOIN sys.databases AS d ON r.database_id = d.database_id LEFT JOIN OpenQueries AS t ON t.session_id=s.session_id CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) h WHERE is_user_process = 1 AND s.session_id <> @@SPID GO