automation-suite
2023.10
true
Automation Suite auf EKS/AKS-Installationsanleitung
Last updated 4. Okt. 2024

Durchführen einer Datenbankwartung

Es ist wichtig, dass Sie Ihre Datenbanken frei von Stördaten halten. Dazu empfehlen wir die Durchführung der folgenden Vorgänge:

Verwenden der SQL Server-Wartungslösung

Die SQL Server-Wartungslösung ist eine Reihe von Skripten, mit denen Sie Sicherungen, Integritätsprüfungen und Index- sowie Statistikwartung auf allen Editionen von Microsoft SQL Server ab der Version 2005 ausführen können. Weitere Informationen finden Sie in diesem GitHub-Projekt.

Sichern der Datenbank

Wir empfehlen, dass Sie reguläre Sicherungen der SQL Server-Datenbank implementieren, beispielsweise wöchentliche Sicherungen oder tägliche inkrementelle Sicherungen.

Außerdem empfehlen wir, dass Sie die gespeicherte Prozedur DatabaseBackup verwenden, die mithilfe des Skripts an diesem Speicherort erstellt wird.

Periodisches Löschen alter Daten

Gemeinsame Suite-Funktionen

Erstellen Sie eine separate Datenbank, in der Sie Elemente speichern, bevor Sie sie löschen. Diese Datenbank fungiert als Archiv für die Elemente, die Sie möglicherweise aus bestimmten Gründen speichern müssen, z. B. Audits.

  1. Erstellen Sie eine neue Datenbank mit beispielsweise dem Namen UiPathArchives:
    create database UiPathArchivescreate database UiPathArchives
  2. Erstellen Sie die folgenden Sicherungstabellen:
    1. ArchiveAuditEvent mit der gleichen Struktur wie die AuditEvent-Tabelle:
      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. Archiven Sie die Daten:
    1. Archivieren Sie die Prüfungsdatensätze
      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

      Alte Daten werden in diese Archive kopiert, bevor sie gelöscht werden, wenn die unten genannte Abfrage verwendet wird.

  4. Löschen Sie Daten aus der Tabelle.
    Wichtig: Passen sie das folgende Skript an Ihre Umgebung an, bevor Sie es ausführen.
    1. Prüfungsereignisse
      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

Identity Server

Erstellen Sie eine separate Datenbank, in der Sie Elemente speichern, bevor Sie sie löschen. Diese Datenbank fungiert als Archiv für die Elemente, die Sie möglicherweise aus bestimmten Gründen speichern müssen, z. B. Audits.

  1. Erstellen Sie eine neue Datenbank mit beispielsweise dem Namen UiPathIdentityArchives:
    create database UiPathIdentityArchivescreate database UiPathIdentityArchives
  2. Erstellen Sie die folgenden Sicherungstabellen:
    1. ArchiveLoginAttempts mit der gleichen Struktur wie die UserLoginAttempts-Tabelle:
      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

      Alte Daten werden in diese Archive kopiert, bevor sie gelöscht werden, wenn die unten genannte Abfrage verwendet wird.

  3. Löschen Sie Daten aus der Tabelle.
    Wichtig: Passen sie das folgende Skript an Ihre Umgebung an, bevor Sie es ausführen.
    1. Anmeldungsversuche von Benutzern
      Um Anmeldeversuche zu löschen, die älter als 60 Tage sind, verwenden Sie z. B. die Abfrage unten. Dies kann manuell oder geplant in einem SQL Server-Auftrag ausgeführt werden.
      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

Weitere Informationen zum regelmäßigen Löschen alter Daten aus der Orchestrator-Datenbank finden Sie unter Bereinigen der Orchestrator-Datenbank.

Process Mining

Process Mining in der Automation Suite bietet eine integrierte automatische Datenbankbereinigung, die optimale Effizienz und Leistung gewährleistet. Dies stellt sicher, dass unnötige Daten regelmäßig entfernt werden, sodass Ihre Datenbank bereinigt und funktionsfähig bleibt, ohne dass manuelle Aktionen erforderlich sind, um Ressourcen freizugeben.

Task Mining

Weitere Informationen zum regelmäßigen Löschen alter Daten aus der Task Mining-Datenbank finden Sie unter Bereinigen der Task Mining-Datenbank.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo White
Vertrauen und Sicherheit
© 2005–2024 UiPath. Alle Rechte vorbehalten