@@ -5109,30 +5109,30 @@ IF EXISTS
51095109)
51105110BEGIN
51115111
5112+ SELECT @common_version =
5113+ CONVERT (DECIMAL (10 ,2 ), c .common_version )
5114+ FROM #checkversion AS c;
5115+
51125116IF @common_version >= 11
5113- SET @user_perm_sql + = N'
5117+ SET @user_perm_sql = N'
51145118 SET @buffer_pool_memory_gb = 0;
51155119 SELECT @buffer_pool_memory_gb = SUM(pages_kb)/ 1024. / 1024.
51165120 FROM sys.dm_os_memory_clerks
51175121 WHERE type = '' MEMORYCLERK_SQLBUFFERPOOL'' ;'
51185122ELSE
5119- SET @user_perm_sql + = N'
5123+ SET @user_perm_sql = N'
51205124 SET @buffer_pool_memory_gb = 0;
51215125 SELECT @buffer_pool_memory_gb = SUM(single_pages_kb + multi_pages_kb)/ 1024. / 1024.
51225126 FROM sys.dm_os_memory_clerks
51235127 WHERE type = '' MEMORYCLERK_SQLBUFFERPOOL'' ;'
51245128
51255129EXEC sys .sp_executesql @user_perm_sql,
5126- N ' @user_perm_gb DECIMAL(10,2) OUTPUT' ,
5127- @user_perm_gb = @user_perm_gb_out OUTPUT ;
5128-
5129- SELECT @common_version =
5130- CONVERT (DECIMAL (10 ,2 ), c .common_version )
5131- FROM #checkversion AS c;
5130+ N ' @buffer_pool_memory_gb DECIMAL(10,2) OUTPUT' ,
5131+ @buffer_pool_memory_gb = @buffer_pool_memory_gb OUTPUT ;
51325132
51335133IF @common_version >= 11
51345134BEGIN
5135- SET @user_perm_sql + = N'
5135+ SET @user_perm_sql = N'
51365136 SELECT @user_perm_gb = CASE WHEN (pages_kb / 128.0 / 1024.) >= 2.
51375137 THEN CONVERT(DECIMAL(38, 2), (pages_kb / 128.0 / 1024.))
51385138 ELSE 0
@@ -5144,7 +5144,7 @@ END;
51445144
51455145IF @common_version < 11
51465146BEGIN
5147- SET @user_perm_sql + = N'
5147+ SET @user_perm_sql = N'
51485148 SELECT @user_perm_gb = CASE WHEN ((single_pages_kb + multi_pages_kb) / 1024.0 / 1024.) >= 2.
51495149 THEN CONVERT(DECIMAL(38, 2), ((single_pages_kb + multi_pages_kb) / 1024.0 / 1024.))
51505150 ELSE 0
@@ -6102,16 +6102,17 @@ BEGIN
61026102 999 ,
61036103 CASE WHEN ISNULL (p .percent_24 , 0 ) > 75 THEN 1 ELSE 254 END AS Priority,
61046104 ' Plan Cache Information' ,
6105+ CASE WHEN ISNULL (p .percent_24 , 0 ) > 75 THEN ' Plan Cache Instability' ELSE ' Plan Cache Stability' END AS Finding,
6106+ ' https://www.brentozar.com/archive/2018/07/tsql2sday-how-much-plan-cache-history-do-you-have/' ,
61056107 ' You have ' + CONVERT (NVARCHAR (10 ), ISNULL (p .total_plans , 0 ))
61066108 + ' total plans in your cache, with '
61076109 + CONVERT (NVARCHAR (10 ), ISNULL (p .percent_24 , 0 ))
61086110 + ' % plans created in the past 24 hours, '
61096111 + CONVERT (NVARCHAR (10 ), ISNULL (p .percent_4 , 0 ))
61106112 + ' % created in the past 4 hours, and '
61116113 + CONVERT (NVARCHAR (10 ), ISNULL (p .percent_1 , 0 ))
6112- + ' % created in the past 1 hour.' ,
6113- ' https://www.brentozar.com/archive/2018/07/tsql2sday-how-much-plan-cache-history-do-you-have/' ,
6114- ' If these percentages are high, it may be a sign of memory pressure or plan cache instability.'
6114+ + ' % created in the past 1 hour. '
6115+ + ' When these percentages are high, it may be a sign of memory pressure or plan cache instability.'
61156116 FROM #plan_creation p ;
61166117
61176118 IF EXISTS (SELECT 1 / 0
@@ -6121,16 +6122,16 @@ BEGIN
61216122 INSERT INTO ##BlitzCacheResults (SPID, CheckID, Priority, FindingsGroup, Finding, URL , Details)
61226123 SELECT spid,
61236124 999 ,
6124- 254 ,
6125- ' Plan Cache Information' ,
6125+ CASE WHEN ISNULL (p .percent_duplicate , 0 ) > 75 THEN 1 ELSE 254 END AS Priority,
6126+ ' Plan Cache Information' ,
6127+ CASE WHEN ISNULL (p .percent_duplicate , 0 ) > 75 THEN ' Many Duplicate Plans' ELSE ' Duplicate Plans' END AS Finding,
6128+ ' https://www.brentozar.com/archive/2018/03/why-multiple-plans-for-one-query-are-bad/' ,
61266129 ' You have ' + CONVERT (NVARCHAR (10 ), p .total_plans )
61276130 + ' plans in your cache, and '
61286131 + CONVERT (NVARCHAR (10 ), p .percent_duplicate )
61296132 + ' % are duplicates with more than 5 entries'
61306133 + ' , meaning similar queries are generating the same plan repeatedly.'
6131- + ' Forced Parameterization may fix the issue.' ,
6132- ' https://www.brentozar.com/archive/2018/03/why-multiple-plans-for-one-query-are-bad/' ,
6133- ' To find troublemakers, use: EXEC sp_BlitzCache @SortOrder = '' query hash'' ; '
6134+ + ' Forced Parameterization may fix the issue. To find troublemakers, use: EXEC sp_BlitzCache @SortOrder = '' query hash'' ; '
61346135 FROM #plan_usage AS p ;
61356136
61366137 IF EXISTS (SELECT 1 / 0
0 commit comments