Skip to content

Commit 65adb27

Browse files
authored
Merge pull request #3130 from dmonlineuk/dev
Fixes #3129 - sp_BlitzFirst in Azure SQL Managed Instances
2 parents 77e3a01 + b616ace commit 65adb27

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('Edition') <> 'SQL Azure'
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('Edition') <> 'SQL Azure'
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)