UiPath Documentation
automation-suite
2024.10
false
Wichtig :
Bitte beachten Sie, dass dieser Inhalt teilweise mithilfe von maschineller Übersetzung lokalisiert wurde. Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.

Automation Suite in OpenShift – Installationsanleitung

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 UiPathArchives
    create database UiPathArchives
    
  2. Erstellen Sie die folgenden Sicherungstabellen:

    ArchiveAuditEvent mit der gleichen Struktur wie die AuditEvent-Tabelle:

    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. Archivieren Sie die Daten.

    Um Prüfungsereignisdatensätze zu archivieren, verwenden Sie das folgende Beispielskript:

       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
    

    Alte Daten werden in diese Archive kopiert, bevor sie bei Verwendung der folgenden Abfrage gelöscht werden.

  4. Löschen Sie Daten aus der Tabelle.

    Wichtig:

    Passen sie die folgenden Skripts an Ihre Umgebung an, bevor Sie sie ausführen.

    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 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
    

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.

Hinweis:

Das in diesem Abschnitt bereitgestellte Datenbankwartungsskript wird nur unterstützt, wenn SQL Server lokal verwendet wird. Es funktioniert nicht mit Azure SQL. Wenn Ihre Automation Suite-Bereitstellung Azure SQL verwendet, führen Sie dieses Skript nicht aus.

  1. Erstellen Sie eine neue Datenbank mit beispielsweise dem Namen UiPathIdentityArchives:

    create database UiPathIdentityArchives
    create database UiPathIdentityArchives
    
  2. Erstellen Sie die folgenden Sicherungstabellen:

    ArchiveLoginAttempts mit der gleichen Struktur wie die UserLoginAttempts-Tabelle:

    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
    

    Alte Daten werden in diese Archive kopiert, bevor sie bei Verwendung der folgenden Abfrage gelöscht werden.

  3. Löschen Sie Daten aus der Tabelle.

    Wichtig:

    Passen sie die folgenden Skripts an Ihre Umgebung an, bevor Sie sie ausführen.

    Um Anmeldeversuche zu löschen, die älter als 60 Tage sind, verwenden Sie z. B. die folgende Abfrage. 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 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

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

Automation Hub

Automation Hub verwendet für Laufzeitansichten und Dashboards seine historischen Daten und verfügt aufgrund seiner Beschaffenheit nicht über das Konzept der Bereinigung alter Daten. Ähnlich wie bei anderen Diensten wird empfohlen, die Automation Hub-Datenbank regelmäßig durch Methoden wie wöchentliche Sicherungen oder tägliche inkrementelle Sicherungen zu sichern.

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.

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben