diff --git a/Install-All-Scripts.sql b/Install-All-Scripts.sql index b8483698..ae1570bc 100644 --- a/Install-All-Scripts.sql +++ b/Install-All-Scripts.sql @@ -39,7 +39,7 @@ AS SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; - SELECT @Version = '8.27', @VersionDate = '20251122'; + SELECT @Version = '8.28', @VersionDate = '20251124'; SET @OutputType = UPPER(@OutputType); IF(@VersionCheckMode = 1) @@ -10777,7 +10777,7 @@ AS SET NOCOUNT ON; SET STATISTICS XML OFF; -SELECT @Version = '8.27', @VersionDate = '20251122'; +SELECT @Version = '8.28', @VersionDate = '20251124'; IF(@VersionCheckMode = 1) BEGIN @@ -11655,7 +11655,7 @@ AS SET STATISTICS XML OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; - SELECT @Version = '8.27', @VersionDate = '20251122'; + SELECT @Version = '8.28', @VersionDate = '20251124'; IF(@VersionCheckMode = 1) BEGIN @@ -13439,7 +13439,7 @@ SET NOCOUNT ON; SET STATISTICS XML OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; -SELECT @Version = '8.27', @VersionDate = '20251122'; +SELECT @Version = '8.28', @VersionDate = '20251124'; SET @OutputType = UPPER(@OutputType); IF(@VersionCheckMode = 1) @@ -20826,7 +20826,7 @@ SET NOCOUNT ON; SET STATISTICS XML OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; -SELECT @Version = '8.27', @VersionDate = '20251122'; +SELECT @Version = '8.28', @VersionDate = '20251124'; SET @OutputType = UPPER(@OutputType); IF(@VersionCheckMode = 1) @@ -20917,10 +20917,25 @@ SET @DatabaseName = COALESCE(@DatabaseName, PARSENAME(@ObjectName, 3)) /* 3 = Da SET @SchemaName = COALESCE(@SchemaName, PARSENAME(@ObjectName, 2)) /* 2 = Schema name */ SET @TableName = COALESCE(@TableName, PARSENAME(@ObjectName, 1)) /* 1 = Table name */ -/* Handle already quoted input if it wasn't fully qualified*/ -SET @DatabaseName = PARSENAME(@DatabaseName,1); -SET @SchemaName = ISNULL(PARSENAME(@SchemaName,1),PARSENAME(@TableName,2)); -SET @TableName = PARSENAME(@TableName,1); +/* Handle already quoted input if it wasn't fully qualified - only if @ObjectName is null*/ +IF (@ObjectName IS NULL) + BEGIN + SELECT @DatabaseName = CASE WHEN @DatabaseName LIKE N'\[%\]' ESCAPE N'\' THEN PARSENAME(@DatabaseName,1) ELSE @DatabaseName + END, + @SchemaName = ISNULL( + CASE /*only apply parsename if the schema is actually quoted*/ + WHEN @SchemaName LIKE N'\[%\]' ESCAPE N'\' THEN PARSENAME(@SchemaName,1) ELSE @SchemaName + END, + CASE /*if we already have @TableName in the form of [some.schema].[some.table]*/ + WHEN @TableName LIKE N'\[%\].\[%\]' ESCAPE N'\' THEN PARSENAME(@TableName,2) + /*I'm making an assumption here that people who use . in their naming conventions would have one in each object name*/ + WHEN LEN(@TableName)- LEN(REPLACE(@TableName,'.','')) = 1 THEN PARSENAME(@TableName,2) ELSE NULL + END), + @TableName = CASE + WHEN @TableName LIKE N'\[%\].\[%\]' ESCAPE N'\' OR @TableName LIKE N'\[%\]' ESCAPE N'\' THEN PARSENAME(@TableName,1) + WHEN LEN(@TableName)- LEN(REPLACE(@TableName,'.','')) = 1 THEN PARSENAME(@TableName,1) ELSE @TableName + END; +END; /* If we're on Azure SQL DB let's cut people some slack */ IF (@TableName IS NOT NULL AND @AzureSQLDB = 1 AND @DatabaseName IS NULL) @@ -27829,7 +27844,7 @@ BEGIN SET XACT_ABORT OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; - SELECT @Version = '8.27', @VersionDate = '20251122'; + SELECT @Version = '8.28', @VersionDate = '20251124'; IF @VersionCheckMode = 1 BEGIN @@ -32349,7 +32364,7 @@ BEGIN SET STATISTICS XML OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; - SELECT @Version = '8.27', @VersionDate = '20251122'; + SELECT @Version = '8.28', @VersionDate = '20251124'; IF(@VersionCheckMode = 1) BEGIN @@ -33785,7 +33800,7 @@ SET STATISTICS XML OFF; /*Versioning details*/ -SELECT @Version = '8.27', @VersionDate = '20251122'; +SELECT @Version = '8.28', @VersionDate = '20251124'; IF(@VersionCheckMode = 1) BEGIN @@ -35455,7 +35470,7 @@ BEGIN SET NOCOUNT ON; SET STATISTICS XML OFF; - SELECT @Version = '8.27', @VersionDate = '20251122'; + SELECT @Version = '8.28', @VersionDate = '20251124'; IF(@VersionCheckMode = 1) BEGIN @@ -36339,7 +36354,7 @@ SET NOCOUNT ON; SET STATISTICS XML OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; -SELECT @Version = '8.27', @VersionDate = '20251122'; +SELECT @Version = '8.28', @VersionDate = '20251124'; IF(@VersionCheckMode = 1) BEGIN diff --git a/Install-Azure.sql b/Install-Azure.sql index 87913764..01728ca3 100644 --- a/Install-Azure.sql +++ b/Install-Azure.sql @@ -37,7 +37,7 @@ AS SET NOCOUNT ON; SET STATISTICS XML OFF; -SELECT @Version = '8.27', @VersionDate = '20251122'; +SELECT @Version = '8.28', @VersionDate = '20251124'; IF(@VersionCheckMode = 1) BEGIN @@ -1174,7 +1174,7 @@ SET NOCOUNT ON; SET STATISTICS XML OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; -SELECT @Version = '8.27', @VersionDate = '20251122'; +SELECT @Version = '8.28', @VersionDate = '20251124'; SET @OutputType = UPPER(@OutputType); IF(@VersionCheckMode = 1) @@ -8558,7 +8558,7 @@ SET NOCOUNT ON; SET STATISTICS XML OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; -SELECT @Version = '8.27', @VersionDate = '20251122'; +SELECT @Version = '8.28', @VersionDate = '20251124'; IF(@VersionCheckMode = 1) BEGIN @@ -13724,7 +13724,7 @@ SET NOCOUNT ON; SET STATISTICS XML OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; -SELECT @Version = '8.27', @VersionDate = '20251122'; +SELECT @Version = '8.28', @VersionDate = '20251124'; SET @OutputType = UPPER(@OutputType); IF(@VersionCheckMode = 1) @@ -13815,10 +13815,25 @@ SET @DatabaseName = COALESCE(@DatabaseName, PARSENAME(@ObjectName, 3)) /* 3 = Da SET @SchemaName = COALESCE(@SchemaName, PARSENAME(@ObjectName, 2)) /* 2 = Schema name */ SET @TableName = COALESCE(@TableName, PARSENAME(@ObjectName, 1)) /* 1 = Table name */ -/* Handle already quoted input if it wasn't fully qualified*/ -SET @DatabaseName = PARSENAME(@DatabaseName,1); -SET @SchemaName = ISNULL(PARSENAME(@SchemaName,1),PARSENAME(@TableName,2)); -SET @TableName = PARSENAME(@TableName,1); +/* Handle already quoted input if it wasn't fully qualified - only if @ObjectName is null*/ +IF (@ObjectName IS NULL) + BEGIN + SELECT @DatabaseName = CASE WHEN @DatabaseName LIKE N'\[%\]' ESCAPE N'\' THEN PARSENAME(@DatabaseName,1) ELSE @DatabaseName + END, + @SchemaName = ISNULL( + CASE /*only apply parsename if the schema is actually quoted*/ + WHEN @SchemaName LIKE N'\[%\]' ESCAPE N'\' THEN PARSENAME(@SchemaName,1) ELSE @SchemaName + END, + CASE /*if we already have @TableName in the form of [some.schema].[some.table]*/ + WHEN @TableName LIKE N'\[%\].\[%\]' ESCAPE N'\' THEN PARSENAME(@TableName,2) + /*I'm making an assumption here that people who use . in their naming conventions would have one in each object name*/ + WHEN LEN(@TableName)- LEN(REPLACE(@TableName,'.','')) = 1 THEN PARSENAME(@TableName,2) ELSE NULL + END), + @TableName = CASE + WHEN @TableName LIKE N'\[%\].\[%\]' ESCAPE N'\' OR @TableName LIKE N'\[%\]' ESCAPE N'\' THEN PARSENAME(@TableName,1) + WHEN LEN(@TableName)- LEN(REPLACE(@TableName,'.','')) = 1 THEN PARSENAME(@TableName,1) ELSE @TableName + END; +END; /* If we're on Azure SQL DB let's cut people some slack */ IF (@TableName IS NOT NULL AND @AzureSQLDB = 1 AND @DatabaseName IS NULL) @@ -20727,7 +20742,7 @@ BEGIN SET XACT_ABORT OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; - SELECT @Version = '8.27', @VersionDate = '20251122'; + SELECT @Version = '8.28', @VersionDate = '20251124'; IF @VersionCheckMode = 1 BEGIN @@ -25247,7 +25262,7 @@ BEGIN SET STATISTICS XML OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; - SELECT @Version = '8.27', @VersionDate = '20251122'; + SELECT @Version = '8.28', @VersionDate = '20251124'; IF(@VersionCheckMode = 1) BEGIN diff --git a/sp_Blitz.sql b/sp_Blitz.sql index 42b7a0a9..17527339 100644 --- a/sp_Blitz.sql +++ b/sp_Blitz.sql @@ -39,7 +39,7 @@ AS SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; - SELECT @Version = '8.27', @VersionDate = '20251122'; + SELECT @Version = '8.28', @VersionDate = '20251124'; SET @OutputType = UPPER(@OutputType); IF(@VersionCheckMode = 1) diff --git a/sp_BlitzAnalysis.sql b/sp_BlitzAnalysis.sql index 19578597..8e841874 100644 --- a/sp_BlitzAnalysis.sql +++ b/sp_BlitzAnalysis.sql @@ -37,7 +37,7 @@ AS SET NOCOUNT ON; SET STATISTICS XML OFF; -SELECT @Version = '8.27', @VersionDate = '20251122'; +SELECT @Version = '8.28', @VersionDate = '20251124'; IF(@VersionCheckMode = 1) BEGIN diff --git a/sp_BlitzBackups.sql b/sp_BlitzBackups.sql index f285b62d..8fb8d11a 100755 --- a/sp_BlitzBackups.sql +++ b/sp_BlitzBackups.sql @@ -24,7 +24,7 @@ AS SET STATISTICS XML OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; - SELECT @Version = '8.27', @VersionDate = '20251122'; + SELECT @Version = '8.28', @VersionDate = '20251124'; IF(@VersionCheckMode = 1) BEGIN diff --git a/sp_BlitzCache.sql b/sp_BlitzCache.sql index f84e1ab2..9e14ff76 100644 --- a/sp_BlitzCache.sql +++ b/sp_BlitzCache.sql @@ -283,7 +283,7 @@ SET NOCOUNT ON; SET STATISTICS XML OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; -SELECT @Version = '8.27', @VersionDate = '20251122'; +SELECT @Version = '8.28', @VersionDate = '20251124'; SET @OutputType = UPPER(@OutputType); IF(@VersionCheckMode = 1) diff --git a/sp_BlitzFirst.sql b/sp_BlitzFirst.sql index 815bc52a..11c2f87d 100644 --- a/sp_BlitzFirst.sql +++ b/sp_BlitzFirst.sql @@ -47,7 +47,7 @@ SET NOCOUNT ON; SET STATISTICS XML OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; -SELECT @Version = '8.27', @VersionDate = '20251122'; +SELECT @Version = '8.28', @VersionDate = '20251124'; IF(@VersionCheckMode = 1) BEGIN diff --git a/sp_BlitzIndex.sql b/sp_BlitzIndex.sql index 424845c1..4f83de5c 100644 --- a/sp_BlitzIndex.sql +++ b/sp_BlitzIndex.sql @@ -50,7 +50,7 @@ SET NOCOUNT ON; SET STATISTICS XML OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; -SELECT @Version = '8.27', @VersionDate = '20251122'; +SELECT @Version = '8.28', @VersionDate = '20251124'; SET @OutputType = UPPER(@OutputType); IF(@VersionCheckMode = 1) @@ -141,10 +141,25 @@ SET @DatabaseName = COALESCE(@DatabaseName, PARSENAME(@ObjectName, 3)) /* 3 = Da SET @SchemaName = COALESCE(@SchemaName, PARSENAME(@ObjectName, 2)) /* 2 = Schema name */ SET @TableName = COALESCE(@TableName, PARSENAME(@ObjectName, 1)) /* 1 = Table name */ -/* Handle already quoted input if it wasn't fully qualified*/ -SET @DatabaseName = PARSENAME(@DatabaseName,1); -SET @SchemaName = ISNULL(PARSENAME(@SchemaName,1),PARSENAME(@TableName,2)); -SET @TableName = PARSENAME(@TableName,1); +/* Handle already quoted input if it wasn't fully qualified - only if @ObjectName is null*/ +IF (@ObjectName IS NULL) + BEGIN + SELECT @DatabaseName = CASE WHEN @DatabaseName LIKE N'\[%\]' ESCAPE N'\' THEN PARSENAME(@DatabaseName,1) ELSE @DatabaseName + END, + @SchemaName = ISNULL( + CASE /*only apply parsename if the schema is actually quoted*/ + WHEN @SchemaName LIKE N'\[%\]' ESCAPE N'\' THEN PARSENAME(@SchemaName,1) ELSE @SchemaName + END, + CASE /*if we already have @TableName in the form of [some.schema].[some.table]*/ + WHEN @TableName LIKE N'\[%\].\[%\]' ESCAPE N'\' THEN PARSENAME(@TableName,2) + /*I'm making an assumption here that people who use . in their naming conventions would have one in each object name*/ + WHEN LEN(@TableName)- LEN(REPLACE(@TableName,'.','')) = 1 THEN PARSENAME(@TableName,2) ELSE NULL + END), + @TableName = CASE + WHEN @TableName LIKE N'\[%\].\[%\]' ESCAPE N'\' OR @TableName LIKE N'\[%\]' ESCAPE N'\' THEN PARSENAME(@TableName,1) + WHEN LEN(@TableName)- LEN(REPLACE(@TableName,'.','')) = 1 THEN PARSENAME(@TableName,1) ELSE @TableName + END; +END; /* If we're on Azure SQL DB let's cut people some slack */ IF (@TableName IS NOT NULL AND @AzureSQLDB = 1 AND @DatabaseName IS NULL) diff --git a/sp_BlitzLock.sql b/sp_BlitzLock.sql index f07667e2..e3f33d89 100644 --- a/sp_BlitzLock.sql +++ b/sp_BlitzLock.sql @@ -42,7 +42,7 @@ BEGIN SET XACT_ABORT OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; - SELECT @Version = '8.27', @VersionDate = '20251122'; + SELECT @Version = '8.28', @VersionDate = '20251124'; IF @VersionCheckMode = 1 BEGIN diff --git a/sp_BlitzWho.sql b/sp_BlitzWho.sql index fd53e3f3..74267c0d 100644 --- a/sp_BlitzWho.sql +++ b/sp_BlitzWho.sql @@ -33,7 +33,7 @@ BEGIN SET STATISTICS XML OFF; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; - SELECT @Version = '8.27', @VersionDate = '20251122'; + SELECT @Version = '8.28', @VersionDate = '20251124'; IF(@VersionCheckMode = 1) BEGIN diff --git a/sp_DatabaseRestore.sql b/sp_DatabaseRestore.sql index 8e026895..5876f6ec 100755 --- a/sp_DatabaseRestore.sql +++ b/sp_DatabaseRestore.sql @@ -58,7 +58,7 @@ SET STATISTICS XML OFF; /*Versioning details*/ -SELECT @Version = '8.27', @VersionDate = '20251122'; +SELECT @Version = '8.28', @VersionDate = '20251124'; IF(@VersionCheckMode = 1) BEGIN diff --git a/sp_ineachdb.sql b/sp_ineachdb.sql index 7fe91352..62bd155e 100644 --- a/sp_ineachdb.sql +++ b/sp_ineachdb.sql @@ -37,7 +37,7 @@ BEGIN SET NOCOUNT ON; SET STATISTICS XML OFF; - SELECT @Version = '8.27', @VersionDate = '20251122'; + SELECT @Version = '8.28', @VersionDate = '20251124'; IF(@VersionCheckMode = 1) BEGIN