Skip to content

Commit 1ffec64

Browse files
authored
Merge pull request #3625 from BrentOzarULTD/dev
2025-04-07 release
2 parents 432552c + 93bfcba commit 1ffec64

15 files changed

+2465
-459
lines changed

Documentation/sp_BlitzIndex_Checks_by_Priority.md

+65-62
Large diffs are not rendered by default.

Documentation/sp_Blitz_Checks_by_Priority.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ Before adding a new check, make sure to add a Github issue for it first, and hav
66

77
If you want to change anything about a check - the priority, finding, URL, or ID - open a Github issue first. The relevant scripts have to be updated too.
88

9-
CURRENT HIGH CHECKID: 266.
10-
If you want to add a new one, start at 267.
9+
CURRENT HIGH CHECKID: 267.
10+
If you want to add a new one, start at 268.
1111

1212
| Priority | FindingsGroup | Finding | URL | CheckID |
1313
|----------|-----------------------------|---------------------------------------------------------|------------------------------------------------------------------------|----------|
@@ -276,6 +276,7 @@ If you want to add a new one, start at 267.
276276
| 210 | Non-Default Database Scoped Config | Legacy CE | https://www.BrentOzar.com/go/dbscope | 195 |
277277
| 210 | Non-Default Database Scoped Config | Parameter Sniffing | https://www.BrentOzar.com/go/dbscope | 196 |
278278
| 210 | Non-Default Database Scoped Config | Query Optimizer Hotfixes | https://www.BrentOzar.com/go/dbscope | 197 |
279+
| 210 | Non-Default Database Scoped Config | All Others | https://www.BrentOzar.com/go/dbscope | 267 |
279280
| 230 | Security | Control Server Permissions | https://www.BrentOzar.com/go/sa | 104 |
280281
| 230 | Security | Database Owner <> SA | https://www.BrentOzar.com/go/owndb | 55 |
281282
| 230 | Security | Database Owner is Unknown | | 213 |

Install-All-Scripts.sql

+815-149
Large diffs are not rendered by default.

Install-Azure.sql

+767-97
Large diffs are not rendered by default.

SqlServerVersions.sql

+4
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ INSERT INTO dbo.SqlServerVersions
4242
(MajorVersionNumber, MinorVersionNumber, Branch, [Url], ReleaseDate, MainstreamSupportEndDate, ExtendedSupportEndDate, MajorVersionName, MinorVersionName)
4343
VALUES
4444
/*2022*/
45+
(16, 4185, 'CU18', 'https://learn.microsoft.com/en-us/troubleshoot/sql/releases/sqlserver-2022/cumulativeupdate18', '2025-03-13', '2028-01-11', '2033-01-11', 'SQL Server 2022', 'Cumulative Update 18'),
46+
(16, 4175, 'CU17', 'https://learn.microsoft.com/en-us/troubleshoot/sql/releases/sqlserver-2022/cumulativeupdate17', '2025-01-16', '2028-01-11', '2033-01-11', 'SQL Server 2022', 'Cumulative Update 17'),
4547
(16, 4165, 'CU16', 'https://support.microsoft.com/en-us/help/5048033', '2024-11-14', '2028-01-11', '2033-01-11', 'SQL Server 2022', 'Cumulative Update 16'),
4648
(16, 4150, 'CU15 GDR', 'https://support.microsoft.com/en-us/help/5046059', '2024-10-08', '2028-01-11', '2033-01-11', 'SQL Server 2022', 'Cumulative Update 15 GDR'),
4749
(16, 4145, 'CU15', 'https://support.microsoft.com/en-us/help/5041321', '2024-09-25', '2028-01-11', '2033-01-11', 'SQL Server 2022', 'Cumulative Update 15'),
@@ -64,6 +66,8 @@ VALUES
6466
(16, 1050, 'RTM GDR', 'https://support.microsoft.com/kb/5021522', '2023-02-14', '2028-01-11', '2033-01-11', 'SQL Server 2022 GDR', 'RTM'),
6567
(16, 1000, 'RTM', '', '2022-11-15', '2028-01-11', '2033-01-11', 'SQL Server 2022', 'RTM'),
6668
/*2019*/
69+
(15, 4420, 'CU32', 'https://learn.microsoft.com/en-us/troubleshoot/sql/releases/sqlserver-2019/cumulativeupdate32', '2025-02-27', '2025-01-07', '2030-01-08', 'SQL Server 2019', 'Cumulative Update 32'),
70+
(15, 4430, 'CU31', 'https://learn.microsoft.com/en-us/troubleshoot/sql/releases/sqlserver-2019/cumulativeupdate31', '2025-02-13', '2025-01-07', '2030-01-08', 'SQL Server 2019', 'Cumulative Update 31'),
6771
(15, 4415, 'CU30', 'https://support.microsoft.com/kb/5049235', '2024-12-13', '2025-01-07', '2030-01-08', 'SQL Server 2019', 'Cumulative Update 30'),
6872
(15, 4405, 'CU29', 'https://support.microsoft.com/kb/5046365', '2024-10-31', '2025-01-07', '2030-01-08', 'SQL Server 2019', 'Cumulative Update 29'),
6973
(15, 4395, 'CU28 GDR', 'https://support.microsoft.com/kb/5046060', '2024-10-08', '2025-01-07', '2030-01-08', 'SQL Server 2019', 'Cumulative Update 28 GDR'),

sp_Blitz.sql

+40-48
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ AS
3838
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
3939

4040

41-
SELECT @Version = '8.23', @VersionDate = '20241228';
41+
SELECT @Version = '8.24', @VersionDate = '20250407';
4242
SET @OutputType = UPPER(@OutputType);
4343

4444
IF(@VersionCheckMode = 1)
@@ -4076,7 +4076,7 @@ AS
40764076
''Informational'' AS FindingGroup ,
40774077
''Backup Compression Default Off'' AS Finding ,
40784078
''https://www.brentozar.com/go/backup'' AS URL ,
4079-
''Uncompressed full backups have happened recently, and backup compression is not turned on at the server level. Backup compression is included with SQL Server 2008R2 & newer, even in Standard Edition. We recommend turning backup compression on by default so that ad-hoc backups will get compressed.''
4079+
''Uncompressed full backups have happened recently, and backup compression is not turned on at the server level. Backup compression is included with Standard Edition. We recommend turning backup compression on by default so that ad-hoc backups will get compressed.''
40804080
FROM sys.configurations
40814081
WHERE configuration_id = 1579 AND CAST(value_in_use AS INT) = 0
40824082
AND EXISTS (SELECT * FROM msdb.dbo.backupset WHERE backup_size = compressed_backup_size AND type = ''D'' AND backup_finish_date >= DATEADD(DD, -14, GETDATE())) OPTION (RECOMPILE);';
@@ -7749,52 +7749,44 @@ IF @ProductVersionMajor >= 10
77497749
IF @Debug IN (1, 2) RAISERROR('Running CheckId [%d] through [%d] and [%d] through [%d].', 0, 1, 194, 197, 237, 255) WITH NOWAIT;
77507750

77517751
INSERT INTO #DatabaseScopedConfigurationDefaults (configuration_id, [name], default_value, default_value_for_secondary, CheckID)
7752-
SELECT 1, 'MAXDOP', '0', NULL, 194
7753-
UNION ALL
7754-
SELECT 2, 'LEGACY_CARDINALITY_ESTIMATION', '0', NULL, 195
7755-
UNION ALL
7756-
SELECT 3, 'PARAMETER_SNIFFING', '1', NULL, 196
7757-
UNION ALL
7758-
SELECT 4, 'QUERY_OPTIMIZER_HOTFIXES', '0', NULL, 197
7759-
UNION ALL
7760-
SELECT 6, 'IDENTITY_CACHE', '1', NULL, 237
7761-
UNION ALL
7762-
SELECT 7, 'INTERLEAVED_EXECUTION_TVF', '1', NULL, 238
7763-
UNION ALL
7764-
SELECT 8, 'BATCH_MODE_MEMORY_GRANT_FEEDBACK', '1', NULL, 239
7765-
UNION ALL
7766-
SELECT 9, 'BATCH_MODE_ADAPTIVE_JOINS', '1', NULL, 240
7767-
UNION ALL
7768-
SELECT 10, 'TSQL_SCALAR_UDF_INLINING', '1', NULL, 241
7769-
UNION ALL
7770-
SELECT 11, 'ELEVATE_ONLINE', 'OFF', NULL, 242
7771-
UNION ALL
7772-
SELECT 12, 'ELEVATE_RESUMABLE', 'OFF', NULL, 243
7773-
UNION ALL
7774-
SELECT 13, 'OPTIMIZE_FOR_AD_HOC_WORKLOADS', '0', NULL, 244
7775-
UNION ALL
7776-
SELECT 14, 'XTP_PROCEDURE_EXECUTION_STATISTICS', '0', NULL, 245
7777-
UNION ALL
7778-
SELECT 15, 'XTP_QUERY_EXECUTION_STATISTICS', '0', NULL, 246
7779-
UNION ALL
7780-
SELECT 16, 'ROW_MODE_MEMORY_GRANT_FEEDBACK', '1', NULL, 247
7781-
UNION ALL
7782-
SELECT 17, 'ISOLATE_SECURITY_POLICY_CARDINALITY', '0', NULL, 248
7783-
UNION ALL
7784-
SELECT 18, 'BATCH_MODE_ON_ROWSTORE', '1', NULL, 249
7785-
UNION ALL
7786-
SELECT 19, 'DEFERRED_COMPILATION_TV', '1', NULL, 250
7787-
UNION ALL
7788-
SELECT 20, 'ACCELERATED_PLAN_FORCING', '1', NULL, 251
7789-
UNION ALL
7790-
SELECT 21, 'GLOBAL_TEMPORARY_TABLE_AUTO_DROP', '1', NULL, 252
7791-
UNION ALL
7792-
SELECT 22, 'LIGHTWEIGHT_QUERY_PROFILING', '1', NULL, 253
7793-
UNION ALL
7794-
SELECT 23, 'VERBOSE_TRUNCATION_WARNINGS', '1', NULL, 254
7795-
UNION ALL
7796-
SELECT 24, 'LAST_QUERY_PLAN_STATS', '0', NULL, 255;
7797-
EXEC dbo.sp_MSforeachdb 'USE [?]; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; INSERT INTO #BlitzResults (CheckID, DatabaseName, Priority, FindingsGroup, Finding, URL, Details)
7752+
VALUES
7753+
(1, 'MAXDOP', '0', NULL, 194),
7754+
(2, 'LEGACY_CARDINALITY_ESTIMATION', '0', NULL, 195),
7755+
(3, 'PARAMETER_SNIFFING', '1', NULL, 196),
7756+
(4, 'QUERY_OPTIMIZER_HOTFIXES', '0', NULL, 197),
7757+
(6, 'IDENTITY_CACHE', '1', NULL, 237),
7758+
(7, 'INTERLEAVED_EXECUTION_TVF', '1', NULL, 238),
7759+
(8, 'BATCH_MODE_MEMORY_GRANT_FEEDBACK', '1', NULL, 239),
7760+
(9, 'BATCH_MODE_ADAPTIVE_JOINS', '1', NULL, 240),
7761+
(10, 'TSQL_SCALAR_UDF_INLINING', '1', NULL, 241),
7762+
(11, 'ELEVATE_ONLINE', 'OFF', NULL, 242),
7763+
(12, 'ELEVATE_RESUMABLE', 'OFF', NULL, 243),
7764+
(13, 'OPTIMIZE_FOR_AD_HOC_WORKLOADS', '0', NULL, 244),
7765+
(14, 'XTP_PROCEDURE_EXECUTION_STATISTICS', '0', NULL, 245),
7766+
(15, 'XTP_QUERY_EXECUTION_STATISTICS', '0', NULL, 246),
7767+
(16, 'ROW_MODE_MEMORY_GRANT_FEEDBACK', '1', NULL, 247),
7768+
(17, 'ISOLATE_SECURITY_POLICY_CARDINALITY', '0', NULL, 248),
7769+
(18, 'BATCH_MODE_ON_ROWSTORE', '1', NULL, 249),
7770+
(19, 'DEFERRED_COMPILATION_TV', '1', NULL, 250),
7771+
(20, 'ACCELERATED_PLAN_FORCING', '1', NULL, 251),
7772+
(21, 'GLOBAL_TEMPORARY_TABLE_AUTO_DROP', '1', NULL, 252),
7773+
(22, 'LIGHTWEIGHT_QUERY_PROFILING', '1', NULL, 253),
7774+
(23, 'VERBOSE_TRUNCATION_WARNINGS', '1', NULL, 254),
7775+
(24, 'LAST_QUERY_PLAN_STATS', '0', NULL, 255),
7776+
(25, 'PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES', '1440', NULL, 267),
7777+
(26, 'DW_COMPATIBILITY_LEVEL', '0', NULL, 267),
7778+
(27, 'EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS', '1', NULL, 267),
7779+
(28, 'PARAMETER_SENSITIVE_PLAN_OPTIMIZATION', '1', NULL, 267),
7780+
(29, 'ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY', '0', NULL, 267),
7781+
(31, 'CE_FEEDBACK', '1', NULL, 267),
7782+
(33, 'MEMORY_GRANT_FEEDBACK_PERSISTENCE', '1', NULL, 267),
7783+
(34, 'MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT', '1', NULL, 267),
7784+
(35, 'OPTIMIZED_PLAN_FORCING', '1', NULL, 267),
7785+
(37, 'DOP_FEEDBACK', '0', NULL, 267),
7786+
(38, 'LEDGER_DIGEST_STORAGE_ENDPOINT', 'OFF', NULL, 267),
7787+
(39, 'FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION', '0', NULL, 267);
7788+
7789+
EXEC dbo.sp_MSforeachdb 'USE [?]; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; INSERT INTO #BlitzResults (CheckID, DatabaseName, Priority, FindingsGroup, Finding, URL, Details)
77987790
SELECT def1.CheckID, DB_NAME(), 210, ''Non-Default Database Scoped Config'', dsc.[name], ''https://www.brentozar.com/go/dbscope'', (''Set value: '' + COALESCE(CAST(dsc.value AS NVARCHAR(100)),''Empty'') + '' Default: '' + COALESCE(CAST(def1.default_value AS NVARCHAR(100)),''Empty'') + '' Set value for secondary: '' + COALESCE(CAST(dsc.value_for_secondary AS NVARCHAR(100)),''Empty'') + '' Default value for secondary: '' + COALESCE(CAST(def1.default_value_for_secondary AS NVARCHAR(100)),''Empty''))
77997791
FROM [?].sys.database_scoped_configurations dsc
78007792
INNER JOIN #DatabaseScopedConfigurationDefaults def1 ON dsc.configuration_id = def1.configuration_id

sp_BlitzAnalysis.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ AS
3737
SET NOCOUNT ON;
3838
SET STATISTICS XML OFF;
3939

40-
SELECT @Version = '8.23', @VersionDate = '20241228';
40+
SELECT @Version = '8.24', @VersionDate = '20250407';
4141

4242
IF(@VersionCheckMode = 1)
4343
BEGIN

sp_BlitzBackups.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ AS
2424
SET STATISTICS XML OFF;
2525
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
2626

27-
SELECT @Version = '8.23', @VersionDate = '20241228';
27+
SELECT @Version = '8.24', @VersionDate = '20250407';
2828

2929
IF(@VersionCheckMode = 1)
3030
BEGIN

sp_BlitzCache.sql

+17-5
Original file line numberDiff line numberDiff line change
@@ -273,15 +273,16 @@ ALTER PROCEDURE dbo.sp_BlitzCache
273273
@MinutesBack INT = NULL,
274274
@Version VARCHAR(30) = NULL OUTPUT,
275275
@VersionDate DATETIME = NULL OUTPUT,
276-
@VersionCheckMode BIT = 0
276+
@VersionCheckMode BIT = 0,
277+
@KeepCRLF BIT = 0
277278
WITH RECOMPILE
278279
AS
279280
BEGIN
280281
SET NOCOUNT ON;
281282
SET STATISTICS XML OFF;
282283
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
283284

284-
SELECT @Version = '8.23', @VersionDate = '20241228';
285+
SELECT @Version = '8.24', @VersionDate = '20250407';
285286
SET @OutputType = UPPER(@OutputType);
286287

287288
IF(@VersionCheckMode = 1)
@@ -483,7 +484,12 @@ IF @Help = 1
483484
UNION ALL
484485
SELECT N'@VersionCheckMode',
485486
N'BIT',
486-
N'Setting this to 1 will make the procedure stop after setting @Version and @VersionDate.';
487+
N'Setting this to 1 will make the procedure stop after setting @Version and @VersionDate.'
488+
489+
UNION ALL
490+
SELECT N'@KeepCRLF',
491+
N'BIT',
492+
N'Retain CR/LF in query text to avoid issues caused by line comments.';
487493

488494

489495
/* Column definitions */
@@ -2760,7 +2766,10 @@ SET PercentCPU = y.PercentCPU,
27602766
/* Strip newlines and tabs. Tabs are replaced with multiple spaces
27612767
so that the later whitespace trim will completely eliminate them
27622768
*/
2763-
QueryText = REPLACE(REPLACE(REPLACE(QueryText, @cr, ' '), @lf, ' '), @tab, ' ')
2769+
QueryText = CASE WHEN @KeepCRLF = 1
2770+
THEN REPLACE(QueryText, @tab, ' ')
2771+
ELSE REPLACE(REPLACE(REPLACE(QueryText, @cr, ' '), @lf, ' '), @tab, ' ')
2772+
END
27642773
FROM (
27652774
SELECT PlanHandle,
27662775
CASE @total_cpu WHEN 0 THEN 0
@@ -2816,7 +2825,10 @@ SET PercentCPU = y.PercentCPU,
28162825
/* Strip newlines and tabs. Tabs are replaced with multiple spaces
28172826
so that the later whitespace trim will completely eliminate them
28182827
*/
2819-
QueryText = REPLACE(REPLACE(REPLACE(QueryText, @cr, ' '), @lf, ' '), @tab, ' ')
2828+
QueryText = CASE WHEN @KeepCRLF = 1
2829+
THEN REPLACE(QueryText, @tab, ' ')
2830+
ELSE REPLACE(REPLACE(REPLACE(QueryText, @cr, ' '), @lf, ' '), @tab, ' ')
2831+
END
28202832
FROM (
28212833
SELECT DatabaseName,
28222834
SqlHandle,

sp_BlitzFirst.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ SET NOCOUNT ON;
4747
SET STATISTICS XML OFF;
4848
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
4949

50-
SELECT @Version = '8.23', @VersionDate = '20241228';
50+
SELECT @Version = '8.24', @VersionDate = '20250407';
5151

5252
IF(@VersionCheckMode = 1)
5353
BEGIN

0 commit comments

Comments
 (0)