automation-suite
2023.10
false
UiPath logo, featuring letters U and I in white
Guide d'installation d'Automation Suite sur EKS/AKS
Last updated 21 nov. 2024

Effectuer la maintenance de la base de données

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

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. Pour plus de détails, consultez ce projet GitHub.

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.

En outre, nous vous recommandons d'utiliser la procédure stockée DatabaseBackup créée à l'aide du script à cet emplacement.

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 UiPathArchivescreate database UiPathArchives
  2. Créez les tables de sauvegarde suivantes :
    1. ArchiveAuditEvent avec la même structure que le table AuditEvent :
      SELECT * INTO [UiPathArchives].[dbo].[ArchiveAuditEvent] from [AutomationSuite_Platform].[adt].[AuditEvent] where 1 = 2SELECT * INTO [UiPathArchives].[dbo].[ArchiveAuditEvent] from [AutomationSuite_Platform].[adt].[AuditEvent] where 1 = 2
  3. Archivez les données :
    1. Archiver les enregistrements d'audit
      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 TRANSACTIONDECLARE @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 ci-dessous.

  4. Supprimez les données du tableau.
    Attention : Avant d'exécuter les scripts suivants, assurez-vous de les adapter à votre environnement.
    1. É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 TRANSACTIONdeclare @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.

  1. Créez une base de données appelée, par exemple, UiPathIdentityArchives.
    create database UiPathIdentityArchivescreate database UiPathIdentityArchives
  2. Créez les tables de sauvegarde suivantes :
    1. ArchiveLoginAttempts avec la même structure que le table UserLoginAttempts :
      select * into [UiPathIdentityArchives].[dbo].[ArchiveUserLoginAttempts] from [AutomationSuite_Platform].[identity].[UserLoginAttempts] where 1=2select * 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 ci-dessous.

  3. Supprimez les données du tableau.
    Attention : Avant d'exécuter les scripts suivants, assurez-vous de les adapter à votre environnement.
    1. Tentatives de connexion utilisateur
      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 transactiondeclare @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 ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Uipath Logo White
Confiance et sécurité
© 2005-2024 UiPath Tous droits réservés.