- Démarrage
- Prérequis
- Meilleures pratiques
- Installation
- Mise à jour en cours
- Serveur d'identité
- Résolution des erreurs de démarrage
Avant de mettre à niveau
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.
Please make sure to perform these steps before an upgrade from 2023.4 to 2023.4+. They help ensure that, once the upgrade is done, you can get started in no time, with zero issues.
-
Sauvegardez votre base de données pour supprimer tout risque de perte de données.
-
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' 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 -
Migrez vos dossiers classiques vers des dossiers modernes afin de garantir des exécutions ininterrompues.
Ce sont les changements auxquels vous pouvez vous attendre à ce stade dans le processus de suppression des dossiers classiques.