@@ -154,7 +154,7 @@ CREATE TABLE ##BlitzCacheProcs (
154154 unparameterized_query BIT ,
155155 near_parallel BIT ,
156156 plan_warnings BIT ,
157- plan_multiple_plans BIT ,
157+ plan_multiple_plans INT ,
158158 long_running BIT ,
159159 downlevel_estimator BIT ,
160160 implicit_conversions BIT ,
@@ -911,7 +911,7 @@ BEGIN
911911 unparameterized_query BIT ,
912912 near_parallel BIT ,
913913 plan_warnings BIT ,
914- plan_multiple_plans BIT ,
914+ plan_multiple_plans INT ,
915915 long_running BIT ,
916916 downlevel_estimator BIT ,
917917 implicit_conversions BIT ,
@@ -2285,6 +2285,9 @@ FROM (SELECT SqlHandle,
22852285WHERE x.rn = 1
22862286OPTION (RECOMPILE);
22872287
2288+ /*
2289+ This block was used to delete duplicate queries, but has been removed.
2290+ For more info: https://github.com/BrentOzarULTD/SQL-Server-First-Responder-Kit/issues/2026
22882291WITH d AS (
22892292SELECT SPID,
22902293 ROW_NUMBER() OVER (PARTITION BY SqlHandle, QueryHash ORDER BY #sortable# DESC) AS rn
@@ -2294,7 +2297,8 @@ WHERE SPID = @@SPID
22942297DELETE d
22952298WHERE d.rn > 1
22962299AND SPID = @@SPID
2297- OPTION (RECOMPILE);
2300+ OPTION (RECOMPILE);
2301+ */
22982302' ;
22992303
23002304SELECT @sort = CASE @SortOrder WHEN N ' cpu' THEN N ' TotalCPU'
@@ -2586,7 +2590,7 @@ RAISERROR(N'Gathering high level plan information', 0, 1) WITH NOWAIT;
25862590UPDATE ##BlitzCacheProcs
25872591SET NumberOfDistinctPlans = distinct_plan_count,
25882592 NumberOfPlans = number_of_plans ,
2589- plan_multiple_plans = CASE WHEN distinct_plan_count < number_of_plans THEN 1 END
2593+ plan_multiple_plans = CASE WHEN distinct_plan_count < number_of_plans THEN number_of_plans END
25902594FROM (
25912595 SELECT COUNT (DISTINCT QueryHash) AS distinct_plan_count,
25922596 COUNT (QueryHash) AS number_of_plans,
@@ -3396,7 +3400,7 @@ WITH XMLNAMESPACES('http://schemas.microsoft.com/sqlserver/2004/07/showplan' AS
33963400UPDATE ##BlitzCacheProcs
33973401SET NumberOfDistinctPlans = distinct_plan_count,
33983402 NumberOfPlans = number_of_plans,
3399- plan_multiple_plans = CASE WHEN distinct_plan_count < number_of_plans THEN 1 END
3403+ plan_multiple_plans = CASE WHEN distinct_plan_count < number_of_plans THEN number_of_plans END
34003404FROM (
34013405SELECT COUNT (DISTINCT QueryHash) AS distinct_plan_count,
34023406 COUNT (QueryHash) AS number_of_plans,
@@ -4327,7 +4331,7 @@ SET Warnings = SUBSTRING(
43274331 CASE WHEN downlevel_estimator = 1 THEN ' , Downlevel CE' ELSE ' ' END +
43284332 CASE WHEN implicit_conversions = 1 THEN ' , Implicit Conversions' ELSE ' ' END +
43294333 CASE WHEN tvf_join = 1 THEN ' , Function Join' ELSE ' ' END +
4330- CASE WHEN plan_multiple_plans = 1 THEN ' , Multiple Plans' ELSE ' ' END +
4334+ CASE WHEN plan_multiple_plans > 0 THEN ' , Multiple Plans' + COALESCE ( ' (' + CAST (plan_multiple_plans AS VARCHAR ( 10 )) + ' )' , ' ' ) ELSE ' ' END +
43314335 CASE WHEN is_trivial = 1 THEN ' , Trivial Plans' ELSE ' ' END +
43324336 CASE WHEN is_forced_serial = 1 THEN ' , Forced Serialization' ELSE ' ' END +
43334337 CASE WHEN is_key_lookup_expensive = 1 THEN ' , Expensive Key Lookup' ELSE ' ' END +
@@ -4405,7 +4409,7 @@ SELECT DISTINCT
44054409 CASE WHEN downlevel_estimator = 1 THEN ' , Downlevel CE' ELSE ' ' END +
44064410 CASE WHEN implicit_conversions = 1 THEN ' , Implicit Conversions' ELSE ' ' END +
44074411 CASE WHEN tvf_join = 1 THEN ' , Function Join' ELSE ' ' END +
4408- CASE WHEN plan_multiple_plans = 1 THEN ' , Multiple Plans' ELSE ' ' END +
4412+ CASE WHEN plan_multiple_plans > 0 THEN ' , Multiple Plans' + COALESCE ( ' (' + CAST (plan_multiple_plans AS VARCHAR ( 10 )) + ' )' , ' ' ) ELSE ' ' END +
44094413 CASE WHEN is_trivial = 1 THEN ' , Trivial Plans' ELSE ' ' END +
44104414 CASE WHEN is_forced_serial = 1 THEN ' , Forced Serialization' ELSE ' ' END +
44114415 CASE WHEN is_key_lookup_expensive = 1 THEN ' , Expensive Key Lookup' ELSE ' ' END +
@@ -4694,7 +4698,7 @@ BEGIN
46944698 CASE WHEN downlevel_estimator = 1 THEN '' , 13'' ELSE '' '' END +
46954699 CASE WHEN implicit_conversions = 1 THEN '' , 14'' ELSE '' '' END +
46964700 CASE WHEN tvf_join = 1 THEN '' , 17'' ELSE '' '' END +
4697- CASE WHEN plan_multiple_plans = 1 THEN '' , 21'' ELSE '' '' END +
4701+ CASE WHEN plan_multiple_plans > 0 THEN '' , 21'' ELSE '' '' END +
46984702 CASE WHEN unmatched_index_count > 0 THEN '' , 22'' ELSE '' '' END +
46994703 CASE WHEN is_trivial = 1 THEN '' , 24'' ELSE '' '' END +
47004704 CASE WHEN is_forced_serial = 1 THEN '' , 25'' ELSE '' '' END +
@@ -5140,7 +5144,7 @@ BEGIN
51405144
51415145 IF EXISTS (SELECT 1 / 0
51425146 FROM ##BlitzCacheProcs
5143- WHERE plan_multiple_plans = 1
5147+ WHERE plan_multiple_plans > 0
51445148 AND SPID = @@SPID )
51455149 INSERT INTO ##BlitzCacheResults (SPID, CheckID, Priority, FindingsGroup, Finding, URL , Details)
51465150 VALUES (@@SPID ,
0 commit comments