Skip to content

Commit aadc04c

Browse files
authored
Merge pull request #3735 from VladDBA/sp_BlitzWho_LazyAzureSQLDB
Changes for #3734 - sp_BlitzWho
2 parents 98e41e1 + e9809f0 commit aadc04c

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

sp_BlitzWho.sql

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ DECLARE @ProductVersion NVARCHAR(128) = CAST(SERVERPROPERTY('ProductVersion') A
9090
,@ProductVersionMajor DECIMAL(10,2)
9191
,@ProductVersionMinor DECIMAL(10,2)
9292
,@Platform NVARCHAR(8) /* Azure or NonAzure are acceptable */ = (SELECT CASE WHEN @@VERSION LIKE '%Azure%' THEN N'Azure' ELSE N'NonAzure' END AS [Platform])
93+
,@AzureSQLDB BIT = (SELECT CASE WHEN SERVERPROPERTY('EngineEdition') = 5 THEN 1 ELSE 0 END)
9394
,@EnhanceFlag BIT = 0
9495
,@BlockingCheck NVARCHAR(MAX)
9596
,@StringToSelect NVARCHAR(MAX)
@@ -127,10 +128,10 @@ SELECT @ProductVersionMajor = SUBSTRING(@ProductVersion, 1,CHARINDEX('.', @Produ
127128
@ProductVersionMinor = PARSENAME(CONVERT(VARCHAR(32), @ProductVersion), 2)
128129

129130
SELECT
130-
@OutputTableNameQueryStats_View = QUOTENAME(@OutputTableName + '_Deltas'),
131-
@OutputDatabaseName = QUOTENAME(@OutputDatabaseName),
132-
@OutputSchemaName = QUOTENAME(@OutputSchemaName),
133-
@OutputTableName = QUOTENAME(@OutputTableName),
131+
@OutputTableNameQueryStats_View = QUOTENAME(PARSENAME(@OutputTableName,1) + '_Deltas'),
132+
@OutputDatabaseName = QUOTENAME(PARSENAME(@OutputDatabaseName,1)),
133+
@OutputSchemaName = ISNULL(QUOTENAME(PARSENAME(@OutputSchemaName,1)),QUOTENAME(PARSENAME(@OutputTableName,2))),
134+
@OutputTableName = QUOTENAME(PARSENAME(@OutputTableName,1)),
134135
@LineFeed = CHAR(13) + CHAR(10);
135136

136137
IF @GetLiveQueryPlan IS NULL
@@ -141,6 +142,20 @@ IF @GetLiveQueryPlan IS NULL
141142
SET @GetLiveQueryPlan = 0;
142143
END
143144

145+
IF @OutputTableName IS NOT NULL AND (@OutputDatabaseName IS NULL OR @OutputSchemaName IS NULL)
146+
BEGIN
147+
IF @OutputDatabaseName IS NULL AND @AzureSQLDB = 1
148+
BEGIN
149+
/* If we're in Azure SQL DB then use the current database */
150+
SET @OutputDatabaseName = QUOTENAME(DB_NAME());
151+
END;
152+
IF @OutputSchemaName IS NULL AND @OutputDatabaseName = QUOTENAME(DB_NAME())
153+
BEGIN
154+
/* If we're inserting records in the current database use the default schema */
155+
SET @OutputSchemaName = QUOTENAME(SCHEMA_NAME());
156+
END;
157+
END;
158+
144159
IF @OutputDatabaseName IS NOT NULL AND @OutputSchemaName IS NOT NULL AND @OutputTableName IS NOT NULL
145160
AND EXISTS ( SELECT *
146161
FROM sys.databases

0 commit comments

Comments
 (0)