Skip to content

Commit 4680a28

Browse files
authored
Merge pull request #1113 from BrentOzarULTD/issue_1112/brent
#1112 sp_BlitzWho add support for live query plans
2 parents d62f307 + cd59ce2 commit 4680a28

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

sp_BlitzWho.sql

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,16 @@ DECLARE @ProductVersion NVARCHAR(128)
9898
AND r.plan_handle = session_stats.plan_handle
9999
AND r.statement_start_offset = session_stats.statement_start_offset
100100
AND r.statement_end_offset = session_stats.statement_end_offset'
101+
,@QueryStatsXML BIT = 0
102+
,@QueryStatsXMLselect NVARCHAR(MAX) = N' CAST(COALESCE(qs_live.query_plan, ''<?No live query plan available. To turn on live plans, see https://www.BrentOzar.com/go/liveplans ?>'') AS XML) AS live_query_plan , '
103+
,@QueryStatsXMLSQL NVARCHAR(MAX) = N'OUTER APPLY sys.dm_exec_query_statistics_xml(s.session_id) qs_live'
101104

102105

103106
SET @ProductVersion = CAST(SERVERPROPERTY('ProductVersion') AS NVARCHAR(128));
104107
SELECT @ProductVersionMajor = SUBSTRING(@ProductVersion, 1,CHARINDEX('.', @ProductVersion) + 1 ),
105-
@ProductVersionMinor = PARSENAME(CONVERT(VARCHAR(32), @ProductVersion), 2)
106-
108+
@ProductVersionMinor = PARSENAME(CONVERT(VARCHAR(32), @ProductVersion), 2)
109+
IF EXISTS (SELECT * FROM sys.all_columns WHERE object_id = OBJECT_ID('sys.dm_exec_query_statistics_xml') AND name = 'query_plan')
110+
SET @QueryStatsXML = 1;
107111

108112

109113
IF @ProductVersionMajor > 9 and @ProductVersionMajor < 11
@@ -343,6 +347,11 @@ SELECT @StringToExecute = N'SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
343347
WHEN 1 THEN + N'SUBSTRING(wt2.session_wait_info, 0, LEN(wt2.session_wait_info) ) AS top_session_waits ,'
344348
ELSE N''
345349
END
350+
+
351+
CASE @QueryStatsXML
352+
WHEN 1 THEN + @QueryStatsXMLselect
353+
ELSE N''
354+
END
346355
+'
347356
s.status ,
348357
ISNULL(SUBSTRING(dest.text,
@@ -490,6 +499,14 @@ SELECT @StringToExecute = N'SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
490499
AND tsu.session_id = r.session_id
491500
AND tsu.session_id = s.session_id
492501
) as tempdb_allocations
502+
'
503+
+
504+
CASE @QueryStatsXML
505+
WHEN 1 THEN @QueryStatsXMLSQL
506+
ELSE N''
507+
END
508+
+
509+
'
493510
WHERE s.session_id <> @@SPID
494511
AND s.host_name IS NOT NULL
495512
'

0 commit comments

Comments
 (0)