- Erste Schritte
- Anforderungen
- Best Practices
- Installation
- Wird aktualisiert
- Identity Server
- Fehlerbehebung bei Startfehlern
Vor dem Upgrade
Wenn Sie Active Directory (AD) verwenden und ein Upgrade auf 2023.4.0 planen, empfehlen wir dringend, direkt zur Version 2023.4.3 zu springen, da 2023.4.0, 2023.4.1 und 2023.4.2 von einem AD-Problem betroffen sind.
Führen Sie diese Schritte vor einem Upgrade von 2023.4 auf 2023.4+ aus. Sie stellen sicher, dass Sie nach dem Upgrade im Handumdrehen und ohne Probleme loslegen können.
-
Sichern Sie Ihre Datenbank, um Datenverluste zu vermeiden.
-
Führen Sie das folgende Skript zur Wartung der Datenbank vor dem Upgrade aus.
Dieses Skript entfernt alle abgelaufenen oder verbrauchten Berechtigungen aus der Datenbank. Dies trägt dazu bei, die Neuerstellung des Primärschlüssels und des Indexes[identity].[PersistedGrants]
und damit die Datenbankmigration zu beschleunigen.DECLARE @Now DATETIME2 = GETUTCDATE() DECLARE @ConsumedGrantsGracePeriod DATETIME2 = DATEADD(hour, -2, @Now) DECLARE @ConsumedDeleted int = 1 DECLARE @ExpiredDeleted int = 1 DECLARE @BatchSize int = 500 DECLARE @ConsumedBatchesDeleted int = 0 DECLARE @ExpiredBatchesDeleted int = 0 SET LOCK_TIMEOUT 0 SET DEADLOCK_PRIORITY LOW WHILE (@ConsumedDeleted=1 OR @ExpiredDeleted=1) BEGIN IF @ConsumedDeleted=1 BEGIN BEGIN TRY DELETE TOP(@BatchSize) FROM [identity].[PersistedGrants] WHERE [ConsumedTime] IS NOT NULL AND [ConsumedTime] < @ConsumedGrantsGracePeriod AND [Type] <> 'reference_token' IF @@ROWCOUNT = 0 SET @ConsumedDeleted=0 ELSE SET @ConsumedBatchesDeleted = @ConsumedBatchesDeleted + 1 END TRY BEGIN CATCH PRINT 'Failed to delete consumed grants' END CATCH END IF @ExpiredDeleted=1 BEGIN BEGIN TRY DELETE TOP(@BatchSize) FROM [identity].[PersistedGrants] WHERE [Expiration] < @Now AND [Type] <> 'reference_token' IF @@ROWCOUNT = 0 SET @ExpiredDeleted=0 ELSE SET @ExpiredBatchesDeleted = @ExpiredBatchesDeleted + 1 END TRY BEGIN CATCH PRINT 'Failed to delete expired grants' END CATCH END PRINT 'Consumed batches deleted: ' + CONVERT(nvarchar(32), @ConsumedBatchesDeleted) PRINT 'Expired batches deleted: ' + CONVERT(nvarchar(32), @ExpiredBatchesDeleted) -- Wait for 10 seconds between deletes IF (@ExpiredDeleted=1 OR @ConsumedDeleted=1) WAITFOR DELAY '00:00:05.000' END
DECLARE @Now DATETIME2 = GETUTCDATE() DECLARE @ConsumedGrantsGracePeriod DATETIME2 = DATEADD(hour, -2, @Now) DECLARE @ConsumedDeleted int = 1 DECLARE @ExpiredDeleted int = 1 DECLARE @BatchSize int = 500 DECLARE @ConsumedBatchesDeleted int = 0 DECLARE @ExpiredBatchesDeleted int = 0 SET LOCK_TIMEOUT 0 SET DEADLOCK_PRIORITY LOW WHILE (@ConsumedDeleted=1 OR @ExpiredDeleted=1) BEGIN IF @ConsumedDeleted=1 BEGIN BEGIN TRY DELETE TOP(@BatchSize) FROM [identity].[PersistedGrants] WHERE [ConsumedTime] IS NOT NULL AND [ConsumedTime] < @ConsumedGrantsGracePeriod AND [Type] <> 'reference_token' IF @@ROWCOUNT = 0 SET @ConsumedDeleted=0 ELSE SET @ConsumedBatchesDeleted = @ConsumedBatchesDeleted + 1 END TRY BEGIN CATCH PRINT 'Failed to delete consumed grants' END CATCH END IF @ExpiredDeleted=1 BEGIN BEGIN TRY DELETE TOP(@BatchSize) FROM [identity].[PersistedGrants] WHERE [Expiration] < @Now AND [Type] <> 'reference_token' IF @@ROWCOUNT = 0 SET @ExpiredDeleted=0 ELSE SET @ExpiredBatchesDeleted = @ExpiredBatchesDeleted + 1 END TRY BEGIN CATCH PRINT 'Failed to delete expired grants' END CATCH END PRINT 'Consumed batches deleted: ' + CONVERT(nvarchar(32), @ConsumedBatchesDeleted) PRINT 'Expired batches deleted: ' + CONVERT(nvarchar(32), @ExpiredBatchesDeleted) -- Wait for 10 seconds between deletes IF (@ExpiredDeleted=1 OR @ConsumedDeleted=1) WAITFOR DELAY '00:00:05.000' END -
Migrieren Sie Ihre klassischen Ordner in moderne Ordner, um eine unterbrechungsfreie Ausführung zu gewährleisten.
Dies sind die Änderungen, die Sie zu diesem Zeitpunkt beim klassischen Entfernungsprozess von Ordnern erwarten können.