UiPath Documentation
automation-suite
2.2510
true
Automation Suite in der EKS/AKS-Installationsanleitung
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.

Durchführen einer Datenbankwartung

Ausführen von Datenbankwartungsaufgaben für die Automation Suite auf EKS/AKS.

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 SQL Server ab der Version 2005 ausführen können. Weitere Informationen finden Sie im GitHub-Projekt SQL Server-Wartungslösung.

Sichern der Datenbank​

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

Darüber hinaus empfehlen wir, dass Sie die gespeicherte Prozedur DatabaseBackup verwenden, die mit dem unter SQL Server-Sicherung beschriebenen Skript 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 das folgende Skript an Ihre Umgebung an, bevor Sie es 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 das folgende Skript an Ihre Umgebung an, bevor Sie es 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