UiPath Documentation
automation-suite
2024.10
false
Guide d'installation d'Automation Suite sur Linux
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Effectuer la maintenance de la base de données

Effectuez une maintenance de routine de la base de données pour que les bases de données Automation Suite ne soient pas encombrées à l'aide des outils SQL Server recommandés.

Il est important de ne pas encombrer vos bases de données. Pour ce faire, nous vous recommandons d'effectuer les opérations suivantes :

Utilisation de la Solution de maintenance de SQL Server​

SQL Server Maintenance Solution is a set of scripts that enable you to run backups, integrity checks, and index and statistics maintenance on all editions of Microsoft SQL Server, starting with the 2005 version. For details, refer to the SQL Server Maintenance Solution GitHub project.

Sauvegarde de la base de données​

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.

Additionally, we recommend using the DatabaseBackup stored procedure that is created using the script described in SQL Server Backup.

Suppression périodique des anciennes données​

Capacités partagées de Suite​

Créez 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.

  1. Créez une base de données appelée, par exemple, UiPathArchives.

    create database UiPathArchives
    create database UiPathArchives
    
  2. Créez les tables de sauvegarde suivantes :

    ArchiveAuditEvent avec la même structure que le table AuditEvent :

    SELECT * INTO [UiPathArchives].[dbo].[ArchiveAuditEvent] from [AutomationSuite_Platform].[adt].[AuditEvent] where 1 = 2
    SELECT * INTO [UiPathArchives].[dbo].[ArchiveAuditEvent] from [AutomationSuite_Platform].[adt].[AuditEvent] where 1 = 2
    
  3. Archiver les données.

    Pour archiver les enregistrements d'événements d'audit, utilisez l'exemple de script suivant:

       DECLARE @NumberOfDaysToKeep INT
       DECLARE @CurrentDate DATETIME
    
       -- Specify the number of days
       SET @NumberOfDaysToKeep = 60
       -- Archive the list of audit event records that you want to delete
       SET @CurrentDate = GetDate()
       BEGIN TRANSACTION
       INSERT INTO [UiPathArchives].[dbo].[ArchiveAuditEvent]
       SELECT
       [Id],[CreatedOn],[Version],[OrganizationId],[Source],[Category],[Action],[IsUserEvent],
       [UserId],[FullName],[Email],[DetailsVersion],[Details],[OperationId]
       FROM [adt].[AuditEvent]
       WHERE DateDiff(day, CreatedOn, @CurrentDate) > @NumberOfDaysToKeep
       -- Delete the audit events
       DELETE FROM [adt].[AuditEvent]
       WHERE EXISTS (SELECT 1 FROM [UiPathArchives].[dbo].[ArchiveAuditEvent] WHERE Id = [adt].[AuditEvent].[Id])
       COMMIT TRANSACTION
       DECLARE @NumberOfDaysToKeep INT
       DECLARE @CurrentDate DATETIME
    
       -- Specify the number of days
       SET @NumberOfDaysToKeep = 60
       -- Archive the list of audit event records that you want to delete
       SET @CurrentDate = GetDate()
       BEGIN TRANSACTION
       INSERT INTO [UiPathArchives].[dbo].[ArchiveAuditEvent]
       SELECT
       [Id],[CreatedOn],[Version],[OrganizationId],[Source],[Category],[Action],[IsUserEvent],
       [UserId],[FullName],[Email],[DetailsVersion],[Details],[OperationId]
       FROM [adt].[AuditEvent]
       WHERE DateDiff(day, CreatedOn, @CurrentDate) > @NumberOfDaysToKeep
       -- Delete the audit events
       DELETE FROM [adt].[AuditEvent]
       WHERE EXISTS (SELECT 1 FROM [UiPathArchives].[dbo].[ArchiveAuditEvent] WHERE Id = [adt].[AuditEvent].[Id])
       COMMIT TRANSACTION
    

    Les anciennes données sont copiées sur ces archives avant d’être supprimées lors de l’utilisation de la requête suivante.

  4. Supprimez les données du tableau.

    Important :

    Before running the following script, make sure to adapt it to your environment.

    Événements d'audit:

       declare @NumberOfDaysToKeep int
       declare @CurrentDate datetime
    
       -- Specify the number of days
       SET @NumberOfDaysToKeep = 60
       -- Create temporary table with the list of audit event records that you want to delete
       SET @CurrentDate = GetDate()
       SELECT
       [Id],[CreatedOn],[Version],[OrganizationId],[Source],[Category],[Action],[IsUserEvent],
       [UserId],[FullName],[Email],[DetailsVersion],[Details],[OperationId]
       INTO #TempAuditRecordsToDelete
       FROM [adt].[AuditEvent]
       WHERE DateDiff(day, CreatedOn, @CurrentDate) > @NumberOfDaysToKeep
       -- Review the audit event records to be deleted
       SELECT * FROM #TempAuditRecordsToDelete
       -- Delete the audit events
       BEGIN TRANSACTION
       DELETE FROM [adt].[AuditEvent]
       WHERE EXISTS (SELECT 1 FROM #TempAuditRecordsToDelete WHERE Id = [adt].[AuditEvent].[Id])
       DROP TABLE #TempAuditRecordsToDelete
       COMMIT TRANSACTION
       declare @NumberOfDaysToKeep int
       declare @CurrentDate datetime
    
       -- Specify the number of days
       SET @NumberOfDaysToKeep = 60
       -- Create temporary table with the list of audit event records that you want to delete
       SET @CurrentDate = GetDate()
       SELECT
       [Id],[CreatedOn],[Version],[OrganizationId],[Source],[Category],[Action],[IsUserEvent],
       [UserId],[FullName],[Email],[DetailsVersion],[Details],[OperationId]
       INTO #TempAuditRecordsToDelete
       FROM [adt].[AuditEvent]
       WHERE DateDiff(day, CreatedOn, @CurrentDate) > @NumberOfDaysToKeep
       -- Review the audit event records to be deleted
       SELECT * FROM #TempAuditRecordsToDelete
       -- Delete the audit events
       BEGIN TRANSACTION
       DELETE FROM [adt].[AuditEvent]
       WHERE EXISTS (SELECT 1 FROM #TempAuditRecordsToDelete WHERE Id = [adt].[AuditEvent].[Id])
       DROP TABLE #TempAuditRecordsToDelete
       COMMIT TRANSACTION
    

Serveur d'identité​

Créez 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.

Remarque :

Le script de maintenance de la base de données fourni dans cette section est pris en charge uniquement lors de l'utilisation de la version locale de SQL Server. Cela ne fonctionne pas avec Azure SQL. Si votre déploiement Automation Suite utilise Azure SQL, n'exécutez pas ce script.

  1. Créez une base de données appelée, par exemple, UiPathIdentityArchives.

    create database UiPathIdentityArchives
    create database UiPathIdentityArchives
    
  2. Créez les tables de sauvegarde suivantes :

    ArchiveLoginAttempts avec la même structure que le table UserLoginAttempts :

    select * into [UiPathIdentityArchives].[dbo].[ArchiveUserLoginAttempts] from [AutomationSuite_Platform].[identity].[UserLoginAttempts] where 1=2
    select * into [UiPathIdentityArchives].[dbo].[ArchiveUserLoginAttempts] from [AutomationSuite_Platform].[identity].[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 suivante.

  3. Supprimez les données du tableau.

    Important :

    Before running the following script, make sure to adapt it to your environment.

    Pour supprimer les tentatives de connexion antérieures à 60 jours, par exemple, utilisez la requête suivante. Vous pouvez l'exécuter manuellement ou le 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
    

Orchestrator ​

Pour plus de détails sur la suppression périodique des anciennes données de la base de données Orchestrator, consultez la section Nettoyer la base de données Orchestrator.

Automation Hub​

Automation Hub s'appuie sur ses données historiques pour les vues et les tableaux de bord de runtime, et en raison de sa nature, il n'a pas de concept de nettoyage des anciennes données. Comme pour d'autres services, il est recommandé de sauvegarder régulièrement la base de données Automation Hub via des méthodes telles que les sauvegardes hebdomadaires complètes ou les sauvegardes incrémentielles quotidiennes.

Process Mining​

Process Mining sur Automation Suite propose un nettoyage intégré et automatique de la base de données, ce qui garantit une efficacité et des performances optimales. Cette fonctionnalité permet de supprimer régulièrement les données inutiles. Votre base de données sera ainsi constamment nettoyée et fonctionnelle, et l’absence d’actions manuelles générera des économies en ressources.

Task Mining​

Pour plus de détails sur la suppression périodique des anciennes données de la base de données Task Mining, consultez la section Nettoyer la base de données Task Mining.

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour