- Démarrage
- Prérequis
- Meilleures pratiques
- Installation
- Mise à jour en cours
- Serveur d'identité
- Résolution des erreurs de démarrage
Si vous utilisez Active Directory (AD) et que vous prévoyez d’effectuer la mise à niveau vers 2023.4.0, nous vous recommandons fortement de passer directement à la version 2023.4.3, car les versions 2023.4.0, 2023.4.1 et 2023.4.2 sont affectées par un problème au niveau d’AD.
Veillez à effectuer ces étapes avant de mettre à niveau vers la version 2023.4 ou une version ultérieure. Elles garantissent qu’une fois la mise à niveau terminée, vous pouvez démarrer en un clin d’œil et sans problème.
-
Back up your database to remove any data loss risks.
-
Exécutez le script de maintenance de la base de données préalable à la mise à niveau ci-dessous.
Ce script supprime tous les octrois expirés ou consommés de la base de données. Cela permet d'accélérer la recréation de la clé primaire et de l'index
[identity].[PersistedGrants]et, par conséquent, la migration de la base de données.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' ENDDECLARE @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 -
Migrate your classic folders to modern folders, so as to ensure uninterrupted executions.
These are the changes that you can expect at this point in the classic folders removal process.