Skip to content

Commit 660fb65

Browse files
BrentOzarclaude
andcommitted
sp_Blitz: skip more Azure-incompatible checks per PR review
Copilot review on BrentOzarULTD#3951 flagged four additional CheckIDs that reference msdb or sys.master_files and will throw on Azure SQL Database. Adding them to the Azure SQL DB skip block: - CheckID 25 (TempDB on C Drive) - reads sys.master_files - CheckID 26 (User Databases on C Drive) - reads sys.master_files - CheckID 36 (Slow Storage Reads) - joins sys.dm_io_virtual_file_stats with sys.master_files - CheckID 90 (Database Corruption Detected) - reads msdb.dbo.suspect_pages and master.sys.databases; the outer EXISTS guard already breaks because it queries msdb.sys.all_objects - CheckID 93 (Backup to Same Drive as Data) - joins msdb.dbo.backupset and msdb.dbo.backupmediafamily with sys.master_files Also broadened the @IsAzureSQLDB declaration comment to mention both uses (skip block guard and email / linked-server output guards), since it is no longer only used for output path guarding after the previous commit switched the skip block to use the variable. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 29adb9d commit 660fb65

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

sp_Blitz.sql

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ BEGIN
190190
,@TraceFileIssue bit
191191
-- Flag for Windows OS to help with Linux support
192192
,@IsWindowsOperatingSystem BIT
193-
-- Flag for Azure SQL Database (EngineEdition 5) to skip checks that do not apply
193+
-- Flag for Azure SQL Database (EngineEdition 5) - used to skip incompatible checks and guard email / linked-server output paths
194194
,@IsAzureSQLDB BIT
195195
,@DaysUptime NUMERIC(23,2)
196196
/* For First Responder Kit consistency check:*/
@@ -930,12 +930,14 @@ BEGIN
930930
/* If the server is Azure SQL Database, skip checks that it doesn't allow */
931931
IF @IsAzureSQLDB = 1
932932
BEGIN
933-
/* Backup / restore history - msdb does not exist on Azure SQL DB */
933+
/* Backup / restore history and corruption tracking - msdb does not exist on Azure SQL DB */
934934
INSERT INTO #SkipChecks (CheckID) VALUES (1); /* Full backups */
935935
INSERT INTO #SkipChecks (CheckID) VALUES (2); /* Log backups */
936936
INSERT INTO #SkipChecks (CheckID) VALUES (4); /* Full backup of user DB */
937937
INSERT INTO #SkipChecks (CheckID) VALUES (5); /* Log backup of user DB */
938938
INSERT INTO #SkipChecks (CheckID) VALUES (18); /* Backup to same drive */
939+
INSERT INTO #SkipChecks (CheckID) VALUES (90); /* Database Corruption Detected - reads msdb.dbo.suspect_pages */
940+
INSERT INTO #SkipChecks (CheckID) VALUES (93); /* Backup to same drive as data - joins msdb backup history with sys.master_files */
939941
INSERT INTO #SkipChecks (CheckID) VALUES (177); /* Disabled Internal Monitoring Features - requires dm_server_registry access */
940942
INSERT INTO #SkipChecks (CheckID) VALUES (186); /* MSDB Backup History Purged Too Frequently */
941943

@@ -966,9 +968,12 @@ BEGIN
966968
INSERT INTO #SkipChecks (CheckID) VALUES (97); /* Unusual SQL Server Edition */
967969
INSERT INTO #SkipChecks (CheckID) VALUES (2301); /* sp_validatelogins */
968970

969-
/* File layout / tempdb - cannot read tempdb or system DBs cross-DB from a user DB */
971+
/* File layout / tempdb - cannot read tempdb or system DBs cross-DB from a user DB, and sys.master_files is unavailable */
970972
INSERT INTO #SkipChecks (CheckID) VALUES (21); /* Database encrypted - always true on Azure SQL DB */
971973
INSERT INTO #SkipChecks (CheckID) VALUES (24); /* System DB on C drive */
974+
INSERT INTO #SkipChecks (CheckID) VALUES (25); /* TempDB on C Drive - reads sys.master_files */
975+
INSERT INTO #SkipChecks (CheckID) VALUES (26); /* User Databases on C Drive - reads sys.master_files */
976+
INSERT INTO #SkipChecks (CheckID) VALUES (36); /* Slow Storage Reads - joins sys.dm_io_virtual_file_stats with sys.master_files */
972977
INSERT INTO #SkipChecks (CheckID) VALUES (40); /* TempDB only one data file */
973978
INSERT INTO #SkipChecks (CheckID) VALUES (41); /* TempDB file size/growth mismatch */
974979
INSERT INTO #SkipChecks (CheckID, DatabaseName) VALUES (80, 'master'); /* Max file size set */

0 commit comments

Comments
 (0)