- Démarrage
- Prérequis
- Meilleures pratiques
- Installation
- Mise à jour en cours
- Serveur d'identité
- Module complémentaire haute disponibilité
- Résolution des erreurs de démarrage
Considérations de maintenance
Il est important de ne pas encombrer votre base de données Identity Server. Pour ce faire, nous vous recommandons :
La Solution de maintenance de SQL Server est un ensemble de scripts qui permettent d'exécuter des sauvegardes, des contrôles d'intégrité et la maintenance de l'index et des statistiques dans toutes les éditions de Microsoft SQL Server, à partir de la version 2005. Veuillez consulter ce projet GitHub pour plus d’informations.
Il est recommandé de créer une base de données distincte dans laquelle enregistrer les éléments avant de les supprimer. Cette base de données sert d'archive pour les éléments que vous devrez peut-être stocker pour certaines raisons, tels que les audits.
-
Créez une base de données appelée, par exemple,
UiPathIdentityArchives
.create database UiPathIdentityArchives
create database UiPathIdentityArchives -
Créez les tables de sauvegarde suivantes :
-
ArchiveLoginAttempts
avec la même structure que le tableUserLoginAttempts
:select * into [UiPathIdentityArchives].[dbo].[ArchiveUserLoginAttempts] from [UiPath].[dbo].[UserLoginAttempts] where 1=2
select * into [UiPathIdentityArchives].[dbo].[ArchiveUserLoginAttempts] from [UiPath].[dbo].[UserLoginAttempts] where 1=2
-
Les anciennes données sont copiées sur ces archives avant d’être supprimées lors de l’utilisation de la requête ci-dessous.
Pour supprimer les tentatives de connexion antérieures à 60 jours, par exemple, utilisez la requête ci-dessous. Vous pouvez l'exécuter manuellement ou la planifier dans une tâche de SQL Server.
declare @NumberOfDaysToKeep int
set @NumberOfDaysToKeep = 60
if OBJECT_ID('[UiPathIdentityArchives].[dbo].[UserLoginAttemps]') = NULL
begin select * into [UiPathIdentityArchives].[dbo].[UserLoginAttemps] from [identity].UserLoginAttempts where 1=2 end
begin transaction
set identity_insert [UiPathIdentityArchives].[dbo].[UserLoginAttemps] on
insert into [UiPathIdentityArchives].[dbo].[UserLoginAttemps] ([Id],[PartitionId],[UserId],[UserNameOrEmailAddress],[ClientIpAddress],[ClientName],[BrowserInfo],[Result],[CreationTime],[AuthenticationProvider],[PartitionName])
select [Id],[PartitionId],[UserId],[UserNameOrEmailAddress],[ClientIpAddress],[ClientName],[BrowserInfo],[Result],[CreationTime],[AuthenticationProvider],[PartitionName]
from [identity].UserLoginAttempts where DateDiff(day, CreationTime, GetDate()) > @NumberOfDaysToKeep
delete from [identity].UserLoginAttempts where DateDiff(day, CreationTime, GetDate()) > @NumberOfDaysToKeep
commit transaction
declare @NumberOfDaysToKeep int
set @NumberOfDaysToKeep = 60
if OBJECT_ID('[UiPathIdentityArchives].[dbo].[UserLoginAttemps]') = NULL
begin select * into [UiPathIdentityArchives].[dbo].[UserLoginAttemps] from [identity].UserLoginAttempts where 1=2 end
begin transaction
set identity_insert [UiPathIdentityArchives].[dbo].[UserLoginAttemps] on
insert into [UiPathIdentityArchives].[dbo].[UserLoginAttemps] ([Id],[PartitionId],[UserId],[UserNameOrEmailAddress],[ClientIpAddress],[ClientName],[BrowserInfo],[Result],[CreationTime],[AuthenticationProvider],[PartitionName])
select [Id],[PartitionId],[UserId],[UserNameOrEmailAddress],[ClientIpAddress],[ClientName],[BrowserInfo],[Result],[CreationTime],[AuthenticationProvider],[PartitionName]
from [identity].UserLoginAttempts where DateDiff(day, CreationTime, GetDate()) > @NumberOfDaysToKeep
delete from [identity].UserLoginAttempts where DateDiff(day, CreationTime, GetDate()) > @NumberOfDaysToKeep
commit transaction
Nous vous recommandons d'implémenter des sauvegardes régulières de la base de données SQL Server, telles que les sauvegardes hebdomadaires complètes ou incrémentielles journalières.
En outre, nous vous recommandons d'utiliser la procédure stockée DatabaseBackup créée à l'aide du script à cet emplacement.