Skip to content

Commit bde8aeb

Browse files
Add files via upload
1 parent 47af302 commit bde8aeb

5 files changed

Lines changed: 65 additions & 29 deletions

File tree

‎CommandExecute.sql‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ BEGIN
3636
--// Source: https://ola.hallengren.com //--
3737
--// License: https://ola.hallengren.com/license.html //--
3838
--// GitHub: https://github.com/olahallengren/sql-server-maintenance-solution //--
39-
--// Version: 2020-12-05 18:28:36 //--
39+
--// Version: 2020-12-06 00:32:13 //--
4040
----------------------------------------------------------------------------------------------------
4141

4242
SET NOCOUNT ON

‎DatabaseBackup.sql‎

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ BEGIN
7979
--// Source: https://ola.hallengren.com //--
8080
--// License: https://ola.hallengren.com/license.html //--
8181
--// GitHub: https://github.com/olahallengren/sql-server-maintenance-solution //--
82-
--// Version: 2020-12-05 18:28:36 //--
82+
--// Version: 2020-12-06 00:32:13 //--
8383
----------------------------------------------------------------------------------------------------
8484

8585
SET NOCOUNT ON
@@ -1978,7 +1978,7 @@ BEGIN
19781978
SELECT 'The value for the parameter @FileName is not supported.', 16, 3
19791979
END
19801980

1981-
IF @FileName LIKE '%{DirectorySeperator}%'
1981+
IF @FileName LIKE '%{DirectorySeparator}%'
19821982
BEGIN
19831983
INSERT INTO @Errors ([Message], Severity, [State])
19841984
SELECT 'The value for the parameter @FileName is not supported.', 16, 4
@@ -2022,7 +2022,7 @@ BEGIN
20222022
SELECT 'The value for the parameter @AvailabilityGroupFileName is not supported.', 16, 4
20232023
END
20242024

2025-
IF @AvailabilityGroupFileName LIKE '%{DirectorySeperator}%'
2025+
IF @AvailabilityGroupFileName LIKE '%{DirectorySeparator}%'
20262026
BEGIN
20272027
INSERT INTO @Errors ([Message], Severity, [State])
20282028
SELECT 'The value for the parameter @AvailabilityGroupFileName is not supported.', 16, 5
@@ -2624,8 +2624,11 @@ BEGIN
26242624
INNER JOIN sys.availability_replicas availability_replicas ON databases.replica_id = availability_replicas.replica_id
26252625
WHERE databases.[name] = @CurrentDatabaseName
26262626

2627-
SELECT @CurrentAvailabilityGroupRole = role_desc,
2628-
@CurrentAvailabilityGroupID = group_id
2627+
SELECT @CurrentAvailabilityGroupID = group_id
2628+
FROM sys.availability_replicas
2629+
WHERE replica_id = @CurrentReplicaID
2630+
2631+
SELECT @CurrentAvailabilityGroupRole = role_desc
26292632
FROM sys.dm_hadr_availability_replica_states
26302633
WHERE replica_id = @CurrentReplicaID
26312634

‎DatabaseIntegrityCheck.sql‎

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ BEGIN
3939
--// Source: https://ola.hallengren.com //--
4040
--// License: https://ola.hallengren.com/license.html //--
4141
--// GitHub: https://github.com/olahallengren/sql-server-maintenance-solution //--
42-
--// Version: 2020-12-05 18:28:36 //--
42+
--// Version: 2020-12-06 00:32:13 //--
4343
----------------------------------------------------------------------------------------------------
4444

4545
SET NOCOUNT ON
@@ -78,6 +78,7 @@ BEGIN
7878
DECLARE @CurrentAvailabilityGroup nvarchar(max)
7979
DECLARE @CurrentAvailabilityGroupRole nvarchar(max)
8080
DECLARE @CurrentAvailabilityGroupBackupPreference nvarchar(max)
81+
DECLARE @CurrentSecondaryRoleAllowConnections nvarchar(max)
8182
DECLARE @CurrentIsPreferredBackupReplica bit
8283
DECLARE @CurrentDatabaseMirroringRole nvarchar(max)
8384

@@ -1375,8 +1376,12 @@ BEGIN
13751376
INNER JOIN sys.availability_replicas availability_replicas ON databases.replica_id = availability_replicas.replica_id
13761377
WHERE databases.[name] = @CurrentDatabaseName
13771378

1378-
SELECT @CurrentAvailabilityGroupRole = role_desc,
1379-
@CurrentAvailabilityGroupID = group_id
1379+
SELECT @CurrentAvailabilityGroupID = group_id,
1380+
@CurrentSecondaryRoleAllowConnections = secondary_role_allow_connections_desc
1381+
FROM sys.availability_replicas
1382+
WHERE replica_id = @CurrentReplicaID
1383+
1384+
SELECT @CurrentAvailabilityGroupRole = role_desc
13801385
FROM sys.dm_hadr_availability_replica_states
13811386
WHERE replica_id = @CurrentReplicaID
13821387

@@ -1412,6 +1417,12 @@ BEGIN
14121417
SET @DatabaseMessage = 'Availability group role: ' + ISNULL(@CurrentAvailabilityGroupRole,'N/A')
14131418
RAISERROR('%s',10,1,@DatabaseMessage) WITH NOWAIT
14141419

1420+
IF @CurrentAvailabilityGroupRole = 'SECONDARY'
1421+
BEGIN
1422+
SET @DatabaseMessage = 'Readable Secondary: ' + ISNULL(@CurrentSecondaryRoleAllowConnections,'N/A')
1423+
RAISERROR('%s',10,1,@DatabaseMessage) WITH NOWAIT
1424+
END
1425+
14151426
IF @AvailabilityGroupReplicas = 'PREFERRED_BACKUP_REPLICA'
14161427
BEGIN
14171428
SET @DatabaseMessage = 'Availability group backup preference: ' + ISNULL(@CurrentAvailabilityGroupBackupPreference,'N/A')
@@ -1464,7 +1475,7 @@ BEGIN
14641475

14651476
-- Check filegroups
14661477
IF EXISTS(SELECT * FROM @SelectedCheckCommands WHERE CheckCommand = 'CHECKFILEGROUP')
1467-
AND (@CurrentAvailabilityGroupRole = 'PRIMARY' OR @CurrentAvailabilityGroupRole IS NULL)
1478+
AND (@CurrentAvailabilityGroupRole = 'PRIMARY' OR (@CurrentAvailabilityGroupRole = 'SECONDARY' AND @CurrentSecondaryRoleAllowConnections = 'ALL') OR @CurrentAvailabilityGroupRole IS NULL)
14681479
AND (SYSDATETIME() < DATEADD(SECOND,@TimeLimit,@StartTime) OR @TimeLimit IS NULL)
14691480
BEGIN
14701481
SET @CurrentCommand = 'SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SELECT data_space_id AS FileGroupID, name AS FileGroupName, 0 AS [Order], 0 AS Selected, 0 AS Completed FROM sys.filegroups filegroups WHERE [type] <> ''FX'' ORDER BY CASE WHEN filegroups.name = ''PRIMARY'' THEN 1 ELSE 0 END DESC, filegroups.name ASC'
@@ -1627,7 +1638,7 @@ BEGIN
16271638

16281639
-- Check objects
16291640
IF EXISTS(SELECT * FROM @SelectedCheckCommands WHERE CheckCommand = 'CHECKTABLE')
1630-
AND (@CurrentAvailabilityGroupRole = 'PRIMARY' OR @CurrentAvailabilityGroupRole IS NULL)
1641+
AND (@CurrentAvailabilityGroupRole = 'PRIMARY' OR (@CurrentAvailabilityGroupRole = 'SECONDARY' AND @CurrentSecondaryRoleAllowConnections = 'ALL') OR @CurrentAvailabilityGroupRole IS NULL)
16311642
AND (SYSDATETIME() < DATEADD(SECOND,@TimeLimit,@StartTime) OR @TimeLimit IS NULL)
16321643
BEGIN
16331644
SET @CurrentCommand = 'SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SELECT schemas.[schema_id] AS SchemaID, schemas.[name] AS SchemaName, objects.[object_id] AS ObjectID, objects.[name] AS ObjectName, RTRIM(objects.[type]) AS ObjectType, 0 AS [Order], 0 AS Selected, 0 AS Completed FROM sys.objects objects INNER JOIN sys.schemas schemas ON objects.schema_id = schemas.schema_id LEFT OUTER JOIN sys.tables tables ON objects.object_id = tables.object_id WHERE objects.[type] IN(''U'',''V'') AND EXISTS(SELECT * FROM sys.indexes indexes WHERE indexes.object_id = objects.object_id)' + CASE WHEN @Version >= 12 THEN ' AND (tables.is_memory_optimized = 0 OR is_memory_optimized IS NULL)' ELSE '' END + ' ORDER BY schemas.name ASC, objects.name ASC'
@@ -1841,6 +1852,7 @@ BEGIN
18411852
SET @CurrentAvailabilityGroup = NULL
18421853
SET @CurrentAvailabilityGroupRole = NULL
18431854
SET @CurrentAvailabilityGroupBackupPreference = NULL
1855+
SET @CurrentSecondaryRoleAllowConnections = NULL
18441856
SET @CurrentIsPreferredBackupReplica = NULL
18451857
SET @CurrentDatabaseMirroringRole = NULL
18461858

‎IndexOptimize.sql‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ BEGIN
5353
--// Source: https://ola.hallengren.com //--
5454
--// License: https://ola.hallengren.com/license.html //--
5555
--// GitHub: https://github.com/olahallengren/sql-server-maintenance-solution //--
56-
--// Version: 2020-12-05 18:28:36 //--
56+
--// Version: 2020-12-06 00:32:13 //--
5757
----------------------------------------------------------------------------------------------------
5858

5959
SET NOCOUNT ON
@@ -1490,8 +1490,11 @@ BEGIN
14901490
INNER JOIN sys.availability_replicas availability_replicas ON databases.replica_id = availability_replicas.replica_id
14911491
WHERE databases.[name] = @CurrentDatabaseName
14921492

1493-
SELECT @CurrentAvailabilityGroupRole = role_desc,
1494-
@CurrentAvailabilityGroupID = group_id
1493+
SELECT @CurrentAvailabilityGroupID = group_id
1494+
FROM sys.availability_replicas
1495+
WHERE replica_id = @CurrentReplicaID
1496+
1497+
SELECT @CurrentAvailabilityGroupRole = role_desc
14951498
FROM sys.dm_hadr_availability_replica_states
14961499
WHERE replica_id = @CurrentReplicaID
14971500

‎MaintenanceSolution.sql‎

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ License: https://ola.hallengren.com/license.html
1010
1111
GitHub: https://github.com/olahallengren/sql-server-maintenance-solution
1212
13-
Version: 2020-12-05 18:28:36
13+
Version: 2020-12-06 00:32:13
1414
1515
You can contact me by e-mail at ola@hallengren.com.
1616
@@ -123,7 +123,7 @@ BEGIN
123123
--// Source: https://ola.hallengren.com //--
124124
--// License: https://ola.hallengren.com/license.html //--
125125
--// GitHub: https://github.com/olahallengren/sql-server-maintenance-solution //--
126-
--// Version: 2020-12-05 18:28:36 //--
126+
--// Version: 2020-12-06 00:32:13 //--
127127
----------------------------------------------------------------------------------------------------
128128

129129
SET NOCOUNT ON
@@ -458,7 +458,7 @@ BEGIN
458458
--// Source: https://ola.hallengren.com //--
459459
--// License: https://ola.hallengren.com/license.html //--
460460
--// GitHub: https://github.com/olahallengren/sql-server-maintenance-solution //--
461-
--// Version: 2020-12-05 18:28:36 //--
461+
--// Version: 2020-12-06 00:32:13 //--
462462
----------------------------------------------------------------------------------------------------
463463

464464
SET NOCOUNT ON
@@ -2357,7 +2357,7 @@ BEGIN
23572357
SELECT 'The value for the parameter @FileName is not supported.', 16, 3
23582358
END
23592359

2360-
IF @FileName LIKE '%{DirectorySeperator}%'
2360+
IF @FileName LIKE '%{DirectorySeparator}%'
23612361
BEGIN
23622362
INSERT INTO @Errors ([Message], Severity, [State])
23632363
SELECT 'The value for the parameter @FileName is not supported.', 16, 4
@@ -2401,7 +2401,7 @@ BEGIN
24012401
SELECT 'The value for the parameter @AvailabilityGroupFileName is not supported.', 16, 4
24022402
END
24032403

2404-
IF @AvailabilityGroupFileName LIKE '%{DirectorySeperator}%'
2404+
IF @AvailabilityGroupFileName LIKE '%{DirectorySeparator}%'
24052405
BEGIN
24062406
INSERT INTO @Errors ([Message], Severity, [State])
24072407
SELECT 'The value for the parameter @AvailabilityGroupFileName is not supported.', 16, 5
@@ -3003,8 +3003,11 @@ BEGIN
30033003
INNER JOIN sys.availability_replicas availability_replicas ON databases.replica_id = availability_replicas.replica_id
30043004
WHERE databases.[name] = @CurrentDatabaseName
30053005

3006-
SELECT @CurrentAvailabilityGroupRole = role_desc,
3007-
@CurrentAvailabilityGroupID = group_id
3006+
SELECT @CurrentAvailabilityGroupID = group_id
3007+
FROM sys.availability_replicas
3008+
WHERE replica_id = @CurrentReplicaID
3009+
3010+
SELECT @CurrentAvailabilityGroupRole = role_desc
30083011
FROM sys.dm_hadr_availability_replica_states
30093012
WHERE replica_id = @CurrentReplicaID
30103013

@@ -4495,7 +4498,7 @@ BEGIN
44954498
--// Source: https://ola.hallengren.com //--
44964499
--// License: https://ola.hallengren.com/license.html //--
44974500
--// GitHub: https://github.com/olahallengren/sql-server-maintenance-solution //--
4498-
--// Version: 2020-12-05 18:28:36 //--
4501+
--// Version: 2020-12-06 00:32:13 //--
44994502
----------------------------------------------------------------------------------------------------
45004503

45014504
SET NOCOUNT ON
@@ -4534,6 +4537,7 @@ BEGIN
45344537
DECLARE @CurrentAvailabilityGroup nvarchar(max)
45354538
DECLARE @CurrentAvailabilityGroupRole nvarchar(max)
45364539
DECLARE @CurrentAvailabilityGroupBackupPreference nvarchar(max)
4540+
DECLARE @CurrentSecondaryRoleAllowConnections nvarchar(max)
45374541
DECLARE @CurrentIsPreferredBackupReplica bit
45384542
DECLARE @CurrentDatabaseMirroringRole nvarchar(max)
45394543

@@ -5831,8 +5835,12 @@ BEGIN
58315835
INNER JOIN sys.availability_replicas availability_replicas ON databases.replica_id = availability_replicas.replica_id
58325836
WHERE databases.[name] = @CurrentDatabaseName
58335837

5834-
SELECT @CurrentAvailabilityGroupRole = role_desc,
5835-
@CurrentAvailabilityGroupID = group_id
5838+
SELECT @CurrentAvailabilityGroupID = group_id,
5839+
@CurrentSecondaryRoleAllowConnections = secondary_role_allow_connections_desc
5840+
FROM sys.availability_replicas
5841+
WHERE replica_id = @CurrentReplicaID
5842+
5843+
SELECT @CurrentAvailabilityGroupRole = role_desc
58365844
FROM sys.dm_hadr_availability_replica_states
58375845
WHERE replica_id = @CurrentReplicaID
58385846

@@ -5868,6 +5876,12 @@ BEGIN
58685876
SET @DatabaseMessage = 'Availability group role: ' + ISNULL(@CurrentAvailabilityGroupRole,'N/A')
58695877
RAISERROR('%s',10,1,@DatabaseMessage) WITH NOWAIT
58705878

5879+
IF @CurrentAvailabilityGroupRole = 'SECONDARY'
5880+
BEGIN
5881+
SET @DatabaseMessage = 'Readable Secondary: ' + ISNULL(@CurrentSecondaryRoleAllowConnections,'N/A')
5882+
RAISERROR('%s',10,1,@DatabaseMessage) WITH NOWAIT
5883+
END
5884+
58715885
IF @AvailabilityGroupReplicas = 'PREFERRED_BACKUP_REPLICA'
58725886
BEGIN
58735887
SET @DatabaseMessage = 'Availability group backup preference: ' + ISNULL(@CurrentAvailabilityGroupBackupPreference,'N/A')
@@ -5920,7 +5934,7 @@ BEGIN
59205934

59215935
-- Check filegroups
59225936
IF EXISTS(SELECT * FROM @SelectedCheckCommands WHERE CheckCommand = 'CHECKFILEGROUP')
5923-
AND (@CurrentAvailabilityGroupRole = 'PRIMARY' OR @CurrentAvailabilityGroupRole IS NULL)
5937+
AND (@CurrentAvailabilityGroupRole = 'PRIMARY' OR (@CurrentAvailabilityGroupRole = 'SECONDARY' AND @CurrentSecondaryRoleAllowConnections = 'ALL') OR @CurrentAvailabilityGroupRole IS NULL)
59245938
AND (SYSDATETIME() < DATEADD(SECOND,@TimeLimit,@StartTime) OR @TimeLimit IS NULL)
59255939
BEGIN
59265940
SET @CurrentCommand = 'SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SELECT data_space_id AS FileGroupID, name AS FileGroupName, 0 AS [Order], 0 AS Selected, 0 AS Completed FROM sys.filegroups filegroups WHERE [type] <> ''FX'' ORDER BY CASE WHEN filegroups.name = ''PRIMARY'' THEN 1 ELSE 0 END DESC, filegroups.name ASC'
@@ -6083,7 +6097,7 @@ BEGIN
60836097

60846098
-- Check objects
60856099
IF EXISTS(SELECT * FROM @SelectedCheckCommands WHERE CheckCommand = 'CHECKTABLE')
6086-
AND (@CurrentAvailabilityGroupRole = 'PRIMARY' OR @CurrentAvailabilityGroupRole IS NULL)
6100+
AND (@CurrentAvailabilityGroupRole = 'PRIMARY' OR (@CurrentAvailabilityGroupRole = 'SECONDARY' AND @CurrentSecondaryRoleAllowConnections = 'ALL') OR @CurrentAvailabilityGroupRole IS NULL)
60876101
AND (SYSDATETIME() < DATEADD(SECOND,@TimeLimit,@StartTime) OR @TimeLimit IS NULL)
60886102
BEGIN
60896103
SET @CurrentCommand = 'SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SELECT schemas.[schema_id] AS SchemaID, schemas.[name] AS SchemaName, objects.[object_id] AS ObjectID, objects.[name] AS ObjectName, RTRIM(objects.[type]) AS ObjectType, 0 AS [Order], 0 AS Selected, 0 AS Completed FROM sys.objects objects INNER JOIN sys.schemas schemas ON objects.schema_id = schemas.schema_id LEFT OUTER JOIN sys.tables tables ON objects.object_id = tables.object_id WHERE objects.[type] IN(''U'',''V'') AND EXISTS(SELECT * FROM sys.indexes indexes WHERE indexes.object_id = objects.object_id)' + CASE WHEN @Version >= 12 THEN ' AND (tables.is_memory_optimized = 0 OR is_memory_optimized IS NULL)' ELSE '' END + ' ORDER BY schemas.name ASC, objects.name ASC'
@@ -6297,6 +6311,7 @@ BEGIN
62976311
SET @CurrentAvailabilityGroup = NULL
62986312
SET @CurrentAvailabilityGroupRole = NULL
62996313
SET @CurrentAvailabilityGroupBackupPreference = NULL
6314+
SET @CurrentSecondaryRoleAllowConnections = NULL
63006315
SET @CurrentIsPreferredBackupReplica = NULL
63016316
SET @CurrentDatabaseMirroringRole = NULL
63026317

@@ -6385,7 +6400,7 @@ BEGIN
63856400
--// Source: https://ola.hallengren.com //--
63866401
--// License: https://ola.hallengren.com/license.html //--
63876402
--// GitHub: https://github.com/olahallengren/sql-server-maintenance-solution //--
6388-
--// Version: 2020-12-05 18:28:36 //--
6403+
--// Version: 2020-12-06 00:32:13 //--
63896404
----------------------------------------------------------------------------------------------------
63906405

63916406
SET NOCOUNT ON
@@ -7822,8 +7837,11 @@ BEGIN
78227837
INNER JOIN sys.availability_replicas availability_replicas ON databases.replica_id = availability_replicas.replica_id
78237838
WHERE databases.[name] = @CurrentDatabaseName
78247839

7825-
SELECT @CurrentAvailabilityGroupRole = role_desc,
7826-
@CurrentAvailabilityGroupID = group_id
7840+
SELECT @CurrentAvailabilityGroupID = group_id
7841+
FROM sys.availability_replicas
7842+
WHERE replica_id = @CurrentReplicaID
7843+
7844+
SELECT @CurrentAvailabilityGroupRole = role_desc
78277845
FROM sys.dm_hadr_availability_replica_states
78287846
WHERE replica_id = @CurrentReplicaID
78297847

0 commit comments

Comments
 (0)