Skip to content

Commit b616ace

Browse files
authored
Update sp_BlitzFirst.sql
Replaced all IF statements with comparisons to SERVERPROPERTY('Edition') and the value of 'SQL Azure' for IF statements with comparisons to SERVERPROPERTY('Edition') and the value of 5. Works on my SQL MI and SQL DBs as expected.
1 parent 6adce6c commit b616ace

1 file changed

Lines changed: 13 additions & 13 deletions

File tree

sp_BlitzFirst.sql

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ BEGIN
275275
END; /* IF @SinceStartup = 0 AND @Seconds > 0 AND @ExpertMode = 1 AND @OutputType <> 'NONE' - What's running right now? This is the first and last result set. */
276276

277277
/* Set start/finish times AFTER sp_BlitzWho runs. For more info: https://github.com/BrentOzarULTD/SQL-Server-First-Responder-Kit/issues/2244 */
278-
IF @Seconds = 0 AND SERVERPROPERTY('Edition') = 'SQL Azure'
278+
IF @Seconds = 0 AND SERVERPROPERTY('EngineEdition') = 5 /*SERVERPROPERTY('Edition') = 'SQL Azure'*/
279279
WITH WaitTimes AS (
280280
SELECT wait_type, wait_time_ms,
281281
NTILE(3) OVER(ORDER BY wait_time_ms) AS grouper
@@ -286,7 +286,7 @@ BEGIN
286286
SELECT @StartSampleTime = DATEADD(mi, AVG(-wait_time_ms / 1000 / 60), SYSDATETIMEOFFSET()), @FinishSampleTime = SYSDATETIMEOFFSET()
287287
FROM WaitTimes
288288
WHERE grouper = 2;
289-
ELSE IF @Seconds = 0 AND SERVERPROPERTY('Edition') <> 'SQL Azure'
289+
ELSE IF @Seconds = 0 AND SERVERPROPERTY('EngineEdition') <> 5 /*SERVERPROPERTY('Edition') <> 'SQL Azure'*/
290290
SELECT @StartSampleTime = DATEADD(MINUTE,DATEDIFF(MINUTE, GETDATE(), GETUTCDATE()),create_date) , @FinishSampleTime = SYSDATETIMEOFFSET()
291291
FROM sys.databases
292292
WHERE database_id = 2;
@@ -1039,7 +1039,7 @@ BEGIN
10391039
DROP TABLE #MasterFiles;
10401040
CREATE TABLE #MasterFiles (database_id INT, file_id INT, type_desc NVARCHAR(50), name NVARCHAR(255), physical_name NVARCHAR(255), size BIGINT);
10411041
/* Azure SQL Database doesn't have sys.master_files, so we have to build our own. */
1042-
IF ((SERVERPROPERTY('Edition')) = 'SQL Azure'
1042+
IF (SERVERPROPERTY('EngineEdition') = 5 /*(SERVERPROPERTY('Edition')) = 'SQL Azure' */
10431043
AND (OBJECT_ID('sys.master_files') IS NULL))
10441044
SET @StringToExecute = 'INSERT INTO #MasterFiles (database_id, file_id, type_desc, name, physical_name, size) SELECT DB_ID(), file_id, type_desc, name, physical_name, size FROM sys.database_files;';
10451045
ELSE
@@ -1131,7 +1131,7 @@ BEGIN
11311131
@StockDetailsFooter = @StockDetailsFooter + @LineFeed + ' -- ?>';
11321132

11331133
/* Get the instance name to use as a Perfmon counter prefix. */
1134-
IF CAST(SERVERPROPERTY('edition') AS VARCHAR(100)) = 'SQL Azure'
1134+
IF SERVERPROPERTY('EngineEdition') = 5 /*CAST(SERVERPROPERTY('edition') AS VARCHAR(100)) = 'SQL Azure'*/
11351135
SELECT TOP 1 @ServiceName = LEFT(object_name, (CHARINDEX(':', object_name) - 1))
11361136
FROM sys.dm_os_performance_counters;
11371137
ELSE
@@ -1400,7 +1400,7 @@ BEGIN
14001400
CASE @Seconds WHEN 0 THEN 0 ELSE SUM(os.signal_wait_time_ms) OVER (PARTITION BY os.wait_type ) END AS sum_signal_wait_time_ms,
14011401
CASE @Seconds WHEN 0 THEN 0 ELSE SUM(os.waiting_tasks_count) OVER (PARTITION BY os.wait_type) END AS sum_waiting_tasks ';
14021402

1403-
IF SERVERPROPERTY('Edition') = 'SQL Azure'
1403+
IF SERVERPROPERTY('EngineEdition') = 5 /*SERVERPROPERTY('Edition') = 'SQL Azure'*/
14041404
SET @StringToExecute = @StringToExecute + N' FROM sys.dm_db_wait_stats os ';
14051405
ELSE
14061406
SET @StringToExecute = @StringToExecute + N' FROM sys.dm_os_wait_stats os ';
@@ -1551,7 +1551,7 @@ BEGIN
15511551
END
15521552

15531553
/* If there's a backup running, add details explaining how long full backup has been taking in the last month. */
1554-
IF @Seconds > 0 AND CAST(SERVERPROPERTY('edition') AS VARCHAR(100)) <> 'SQL Azure'
1554+
IF @Seconds > 0 AND SERVERPROPERTY('EngineEdition') <> 5 /*CAST(SERVERPROPERTY('edition') AS VARCHAR(100)) <> 'SQL Azure'*/
15551555
BEGIN
15561556
SET @StringToExecute = 'UPDATE #BlitzFirstResults SET Details = Details + '' Over the last 60 days, the full backup usually takes '' + CAST((SELECT AVG(DATEDIFF(mi, bs.backup_start_date, bs.backup_finish_date)) FROM msdb.dbo.backupset bs WHERE abr.DatabaseName = bs.database_name AND bs.type = ''D'' AND bs.backup_start_date > DATEADD(dd, -60, SYSDATETIMEOFFSET()) AND bs.backup_finish_date IS NOT NULL) AS NVARCHAR(100)) + '' minutes.'' FROM #BlitzFirstResults abr WHERE abr.CheckID = 1 AND EXISTS (SELECT * FROM msdb.dbo.backupset bs WHERE bs.type = ''D'' AND bs.backup_start_date > DATEADD(dd, -60, SYSDATETIMEOFFSET()) AND bs.backup_finish_date IS NOT NULL AND abr.DatabaseName = bs.database_name AND DATEDIFF(mi, bs.backup_start_date, bs.backup_finish_date) > 1)';
15571557
EXEC(@StringToExecute);
@@ -1679,7 +1679,7 @@ BEGIN
16791679
END
16801680

16811681
/* Query Problems - Long-Running Query Blocking Others - CheckID 5 */
1682-
IF SERVERPROPERTY('Edition') <> 'SQL Azure' AND @Seconds > 0 AND EXISTS(SELECT * FROM sys.dm_os_waiting_tasks WHERE wait_type LIKE 'LCK%' AND wait_duration_ms > 30000)
1682+
IF SERVERPROPERTY('EngineEdition') <> 5 /*SERVERPROPERTY('Edition') <> 'SQL Azure'*/ AND @Seconds > 0 AND EXISTS(SELECT * FROM sys.dm_os_waiting_tasks WHERE wait_type LIKE 'LCK%' AND wait_duration_ms > 30000)
16831683
BEGIN
16841684
IF (@Debug = 1)
16851685
BEGIN
@@ -1939,7 +1939,7 @@ If one of them is a lead blocker, consider killing that query.'' AS HowToStopit,
19391939
AND CAST(SERVERPROPERTY('edition') AS VARCHAR(100)) NOT LIKE '%Standard%';
19401940

19411941
/* Server Performance - Target Memory Lower Than Max - CheckID 35 */
1942-
IF SERVERPROPERTY('Edition') <> 'SQL Azure'
1942+
IF SERVERPROPERTY('EngineEdition') <> 5 /*SERVERPROPERTY('Edition') <> 'SQL Azure'*/
19431943
BEGIN
19441944
IF (@Debug = 1)
19451945
BEGIN
@@ -2387,7 +2387,7 @@ If one of them is a lead blocker, consider killing that query.'' AS HowToStopit,
23872387
RAISERROR('Running CheckID 23',10,1) WITH NOWAIT;
23882388
END
23892389

2390-
IF SERVERPROPERTY('Edition') <> 'SQL Azure'
2390+
IF SERVERPROPERTY('EngineEdition') <> 5 /*SERVERPROPERTY('Edition') <> 'SQL Azure'*/
23912391
WITH y
23922392
AS
23932393
(
@@ -2466,7 +2466,7 @@ If one of them is a lead blocker, consider killing that query.'' AS HowToStopit,
24662466
/* We don't want to hang around to obtain locks */
24672467
SET LOCK_TIMEOUT 0;
24682468

2469-
IF SERVERPROPERTY('EngineEdition') <> 5
2469+
IF SERVERPROPERTY('EngineEdition') <> 5 /*SERVERPROPERTY('Edition') <> 'SQL Azure'*/
24702470
SET @StringToExecute = N'USE [?];' + @LineFeed;
24712471
ELSE
24722472
SET @StringToExecute = N'';
@@ -2515,7 +2515,7 @@ If one of them is a lead blocker, consider killing that query.'' AS HowToStopit,
25152515
'END CATCH'
25162516
;
25172517

2518-
IF SERVERPROPERTY('EngineEdition') <> 5
2518+
IF SERVERPROPERTY('EngineEdition') <> 5 /*SERVERPROPERTY('Edition') <> 'SQL Azure'*/
25192519
EXEC sp_MSforeachdb @StringToExecute;
25202520
ELSE
25212521
EXEC(@StringToExecute);
@@ -2595,7 +2595,7 @@ If one of them is a lead blocker, consider killing that query.'' AS HowToStopit,
25952595
SUM(os.signal_wait_time_ms) OVER (PARTITION BY os.wait_type ) AS sum_signal_wait_time_ms,
25962596
SUM(os.waiting_tasks_count) OVER (PARTITION BY os.wait_type) AS sum_waiting_tasks ';
25972597

2598-
IF SERVERPROPERTY('Edition') = 'SQL Azure'
2598+
IF SERVERPROPERTY('EngineEdition') = 5 /*SERVERPROPERTY('Edition') = 'SQL Azure'*/
25992599
SET @StringToExecute = @StringToExecute + N' FROM sys.dm_db_wait_stats os ';
26002600
ELSE
26012601
SET @StringToExecute = @StringToExecute + N' FROM sys.dm_os_wait_stats os ';
@@ -3222,7 +3222,7 @@ If one of them is a lead blocker, consider killing that query.'' AS HowToStopit,
32223222
AND ps.value_delta > (10 * @Seconds); /* Ignore servers sitting idle */
32233223

32243224
/* Azure Performance - Database is Maxed Out - CheckID 41 */
3225-
IF SERVERPROPERTY('Edition') = 'SQL Azure'
3225+
IF SERVERPROPERTY('EngineEdition') = 5 /*SERVERPROPERTY('Edition') = 'SQL Azure'*/
32263226
BEGIN
32273227
IF (@Debug = 1)
32283228
BEGIN

0 commit comments

Comments
 (0)