AsyncOperationBase-Tabelle

Die AsyncOperationBase-Tabelle wird zum Speichern von Systemaufträgen verwendet. Bei Systemaufträgen handelt es sich um asynchrone Erweiterungen, wie zum Beispiel:

  • Asynchrone, registrierte Workflows und Plug-Ins.
  • Hintergrundvorgänge, wie z. B. Massen- und Löschvorgänge, Massenimport und Rollupvorgänge.

Eine Liste der asynchronen Vorgangstypen finden Sie unter OperationType-Auswahlen/-Optionen.

Sobald ein Ereignis stattfindet und alle unmittelbaren Erweiterungen ausgeführt werden, konvertiert das System die Kontextdaten für alle asynchronen Erweiterungen in ein strukturiertes Format, die in einem AsyncOperation-Datensatz gespeichert werden.

Beispielsweise könnte ein asynchroner, registrierter Workflow ein Prozess sein, der einer Kundschaft automatisch eine E-Mail sendet, sobald ihre Bestellung aufgegeben wurde. Im Anschluss sendet der Workflow eine weitere E-Mail, wenn die Bestellung versandt wurde. In einem solchen asynchronen, registrierten Workflow speichert die Plattform den Kontext des asynchronen Workflows als Datensatz in der Tabelle AsyncOperationBase. Ein Prozessprotokoll WorkflowLog wird in der Tabelle WorkflowLogBase erfasst, um Protokolle für die Ausführung des Workflows zu verwalten.

Diese Datensätze enthalten zum Beispiel die folgenden Informationen:

  • ID des Workflows

  • ID des Plug-Ins, das den Workflow auslöst

  • Status der Workflowausführung

Diese Tabelle enthält alle Standardaktivitätsspalten wie Name, Beschreibung, Typ, Vorgangstyp und mehr.

Eine vollständige Liste der Spalten in dieser Tabelle finden Sie unter Systemauftrag-(AsyncOperation-)Tabellen-/Entitätsreferenz.

Ab 2021 wird der Datenanteil asynchroner Vorgänge nicht mehr in der Dataverse-Datenbankkapazität gespeichert, sondern in der Dataverse-Dateikapazität. Dadurch wird die Datengröße der asynchronen Vorgänge teilweise der Dataverse-Datenbankkapazität und teilweise der Dataverse-Dateikapazität zugewiesen. Durch die Umstellung auf die Dataverse-Dateikapazität können die Kosten gesenkt werden, da für die Dataverse-Dateikapazität ein niedrigerer Satz berechnet wird als für die Dataverse-Datenbankkapazität. Darüber hinaus verbessert die Dataverse-Dateikapazität die Gesamtleistung, da Abfragen an die Tabelle Asynchrone Vorgänge leistungsfähiger sind.

Ursachen des Wachstums

Das Wachsumt der -AsyncOperationBase-Tabelle hängt direkt von der Anzahl der Anpassungen ab, auf welche die Umgebung der Kundschaft zurückgreift. Je mehr asynchrone Workflows und Plug-Ins, desto mehr Datensätze werden in der Tabelle AsyncOperationBase gespeichert, um die Ausführung dieser Vorgänge nachzuverfolgen.

Wenn Ihre Organisation häufig Workflows oder Plug-Ins verwendet, können Sie davon ausgehen, dass die AsyncOperationBase-Tabelle eine der größten Verbraucherinnen von Datenkapazität ist.

Wenn die Größe von AsyncOperationBase mit der Zeit immer weiter zunimmt, überprüfen Sie, ob die Option zum automatischen Löschen bei asynchronen Registrierungen aktiviert ist (Informationen zum Festlegen dieser Option für Workflows und Plug-Ins finden Sie im Anhang). Dies führt dazu, dass alle erfolgreich abgeschlossenen Aufträge gelöscht werden, sobald sie abgeschlossen wurden, und die Größe der Tabelle unter Kontrolle bleibt.

Einige Faktoren, die häuig zum Wachstum der AsyncOperationBase-Tabelle in Dynamics 365 beitragen, sind:

  • Umfassender Einsatz von Workflows oder Geschäftsprozessflüssen: Wenn Ihre Organisation Workflows oder Geschäftsprozessflüsse umfassend nutzt, wächst die AsyncOperationBase-Tabelle im Laufe der Zeit immer weiter und wird schließlich so groß, dass sie Leistungsprobleme verursacht.

  • Asynchrone Plug-In-Registrierungen für große Entitäten: Wenn es asynchrone Plug-In-Registrierungen für große Entitäten, wie Anhänge gibt, kann der Datenanteil der asynchronen Vorgänge schnell anwachsen, was zu einer großen AsyncOperationBase-Tabelle führt.

  • Größe des Datenanteils bei asynchronen Vorgängen: Die Größe des Datenanteils asynchroner Vorgänge kann ebenfalls dazu beitragen, dass die AsyncOperationBase-Tabelle wächst.

Tabellenbereinigung

Sie müssen diese Löschaktionen zuerst in einer Sandbox-Umgebung testen. Um den Druck auf die Betriebskapazität zu verringern, ist es möglicherweise sinnvoller, den Speicherplatz für Ihr Microsoft Dynamics 365-Abonnement zu erhöhen, statt den genutzten Speicherplatz zu reduzieren.

Warnung

Um den Kapazitätsverbrauch der AsyncOperationBase-Tabelle zu reduzieren, löschen Sie benutzerdefinierte Metadaten, die sich auf asynchrone Aufträge beziehen. Wenn AsyncOperation-Entitäten gelöscht werden, werden auch die entsprechenden Dateidatensätze gelöscht.

Nach dem Löschen sind diese Datensätze nicht mehr verfügbar. Seien Sie bei der Durchführung von Massenlöschvorgängen vorsichtig.

Bevor Sie Daten in dieser Tabelle löschen:

  • Überprüfen Sie Ihre Anpassungen an Ihren Workflows und Plug-Ins, die bei Löschvorgängen ausgeführt werden.

  • Überprüfen Sie das kaskadierende Löschverhalten, um sicherzustellen, dass dabei nicht unbeabsichtigt Daten gelöscht werden.

  • Testen Sie diese Aktionen in einer Sandbox-Umgebung, bevor Sie mit dem tatsächlichen Löschvorgang fortfahren.

Alle Umgebungen sind mit sofort einsatzbereiten Massenlöschaufträgen konfiguriert, um erfolgreich abgeschlossene Workflow-Systemaufträge zu löschen, die älter als 30 Tage sind.

Um die mit der AsyncOperationBase-Tabelle verbundene zusätzliche Kapazität zu reduzieren, können Sie Workflowsystemaufträge, die älter als 7 Tage sind, so konfigurieren, dass sie mithilfe von Massenlöschaufträgen gelöscht werden.

Diagnoseabfragen

Verwenden Sie Diagnoseabfragen, um bei der Diagnose von Problemen mit Aufträgen im Zusammenhang mit AsyncOperationBase zu helfen.

Verwenden Sie die folgenden Abfragen, um Probleme im Zusammenhang mit der AsyncOperationBase-Dateispeicherung zu diagnostizieren.

Systemauftragsstatus

Gehen Sie wie folgt vor, um auf die Seite Systemaufträge zuzugreifen.

  1. Melden Sie sich beim Power Platform Admin Center an.
  2. Wählen Sie im Navigationsbereich die Option Verwalten aus.
  3. Wählen Sie im Bereich VerwaltenUmgebungen aus.
  4. Wählen Sie Ihre Umgebung aus.
  5. Wählen Sie "Einstellungen" auf der Befehlsleiste aus.
  6. Wählen Sie Überwachung und Protokolle>Systemaufträge.

Systemaufträge haben folgenden Status:

  • Abgeschlossen: Der Auftrag führt keinen Schritt mehr aus und liefert drei mögliche Statusgründe:

    • Erfolgreich: Der Auftrag hat das erwartete Ergebnis erzielt.

    • Fehlgeschlagen: Bei der Verarbeitung des Auftrags ist ein Fehler aufgetreten.

    • Abgebrochen: Der Auftrag wird nicht ausgeführt.

  • Wird ausgeführt: Der Auftrag wird verarbeitet oder ausgeführt oder es findet eine Aktion statt. Es gibt drei mögliche Statusgrundwerte:

    • In Bearbeitung: Der Auftrag wird derzeit ausgeführt.

    • Angehalten: Ein Anhaltevorgang wurde ausgelöst.

    • Wird abgebrochen: Administrierende haben die Abbruchoption ausgelöst.

  • Ausstehend: Der Systemjob erfüllt die Bedingungen für eine automatische Auslösung nicht oder bei der Auswertung der Bedingungen ist ein Fehler aufgetreten. Für das Szenario „Ausstehend“ gibt es zwei Statusgründe:

    • Wartet: Zeigt an, dass sich der Systemauftrag im Wartestatus befindet.

    • Warten auf Ressourcen: Zeigt an, dass der Systemauftrag auf eine Ressource wartet.

Anmerkung

Laufende oder ausstehende Aufträge sollten nicht automatisch bereinigt werden. Stattdessen sollte eine manuelle Aktion zum Abbrechen ausgelöst werden.

Es können andere Massenlöschaufträge konfiguriert werden, um AsyncOperationBase-Datensätze zu löschen.

Massenlöschaufträge einrichten

Informationen zum Einrichten von Massenlöschaufträgen finden Sie in den folgenden Listen.

Abgeschlossene Systemaufträge, die älter als sieben Tage sind, löschen

  1. Melden Sie sich beim Power Platform Admin Center an.

  2. Wählen Sie im Navigationsbereich die Option Verwalten aus.

  3. Wählen Sie im Bereich VerwaltenUmgebungen aus.

  4. Wählen Sie Ihre Umgebung aus.

  5. Wählen Sie "Einstellungen" auf der Befehlsleiste aus.

  6. Wählen Sie Datenverwaltung>Massenlöschung>Neu aus.

  7. Der Massenlöschungs-Assistent erscheint. Wählen Sie Weiter.

  8. Die Seite Suchkriterien festlegen wird angezeigt. Gehen Sie wie folgt vor, um eine Massenlöschung von AsyncOperationBase-Datensätzen durchzuführen:

    1. Wählen Sie im Feld Suchen nach die Option Systemaufträge aus.

    2. Geben Sie folgende Kriterien ein:

      Gruppieren Einstellungen Kriterien Ausgewählte Werte
      UND Status Entspricht Abgeschlossen
      UND Abgeschlossen am Älter als X Tage 7

      Beginnen Sie immer mit einer eng gefassten Bedingung, die das Löschen von Datensätzen einschränkt (älter als drei Jahre), und wechseln Sie dann zu zunehmend umfassender Löschkriterien (älter als drei Monate) und schließlich zu weit gefassten Löschkriterien (älter als sieben Tage).
      UND Systemauftragstyp ungleich Massen-E-Mail
      Importdateianalyse
      Workflow
  9. Wählen Sie Vorschau der Datensätze anzeigen aus, um die Datensätze anzuzeigen, die aus den angegebenen Suchkriterien gelöscht werden. So stellen Sie sicher, dass dabei keine Daten unbeabsichtigt gelöscht werden. Wählen Sie dann Weiter aus.

  10. Wählen Sie auf der Seite Optionen auswählen die Option Ausführungsintervall des Auftrags und wählen Sie dann 7 Tage aus. Wählen Sie dann Weiter aus.

  11. Wählen Sie auf der Seite Massenlöschungsdetails überprüfen und übermitteln die Option Übermitteln aus.

Weitere Informationen zum Konfigurieren von Massenlöschaufträgen für die AsyncOperationBase-Tabelle finden Sie unter Datensätze aus der AsyncOperationBase/WorkflowLogBase-Tabelle bereinigen.

Abgeschlossene Systemaufträge für Workflows löschen

  1. Melden Sie sich beim Power Platform Admin Center an.

  2. Wählen Sie im Navigationsbereich die Option Verwalten aus.

  3. Wählen Sie im Bereich VerwaltenUmgebungen aus.

  4. Wählen Sie Ihre Umgebung aus.

  5. Wählen Sie "Einstellungen" auf der Befehlsleiste aus.

  6. Wählen Sie Datenverwaltung>Massenlöschung>Neu aus.

  7. Der Massenlöschungs-Assistent erscheint. Wählen Sie Weiter.

  8. Die Seite Suchkriterien festlegen wird angezeigt. Gehen Sie wie folgt vor, um eine Massenlöschung von AsyncOperationBase-Datensätzen durchzuführen:

    1. Wählen Sie im Feld „Suchen nach“ die Option Systemaufträge aus.

    2. Geben Sie folgende Kriterien ein:

      Gruppieren Einstellungen Kriterien Ausgewählte Werte
      UND Statusgrund Entspricht Erfolgreich
      UND Status Entspricht Abgeschlossen
      UND Systemauftragstyp Entspricht Workflow
  9. Wählen Sie Vorschau der Datensätze anzeigen aus, um die Datensätze anzuzeigen, die aus den angegebenen Suchkriterien gelöscht werden. So stellen Sie sicher, dass dabei keine Daten unbeabsichtigt gelöscht werden. Wählen Sie dann Weiter aus.

  10. Wählen Sie auf der Seite Optionen auswählen die Option Ausführungsintervall des Auftrags und wählen Sie dann 7 Tage aus. Wählen Sie dann Weiter aus.

  11. Wählen Sie auf der Seite Massenlöschungsdetails überprüfen und übermitteln die Option Übermitteln aus.

Anhang

Weitere Informationen zum Festlegen von Workflow- und Plug-In-Aufträgen finden Sie in den folgenden Abschnitten.

Option zum Löschen erfolgreich abgeschlossener asynchroner Workflowaufträge festlegen

Bei asynchronen Workflows empfiehlt es sich, im Workflow-Editor die Option Abgeschlossene Workflowaufträge automatisch löschen (um Speicherplatz zu sparen) auszuwählen. Dadurch kann das System Workflowprotokolle für erfolgreiche Ausführungen löschen, um Platz zu sparen.

Beibehaltung von Workflowaufträgen so festsetzten, dass abgeschlossene Workflowaufträge automatisch gelöscht werden.

Option zum Löschen erfolgreich abgeschlossener asynchroner Plug-In-Aufträge festlegen

  1. Installieren der Microsoft Power Platform CLI

  2. Laden Sie das Plug-in-Registrierungstool herunter und starten Sie es

  3. Wählen Sie für benutzerdefinierte Plug-Ins die Option Neuen Schritt registrieren aus. Der Bildschirm Neuen Schritt registrieren wird angezeigt.

  4. Führen Sie die folgenden Schritte aus:

    1. Wählen Sie im Bereich Ereignis-Pipeline-Phase die Option Nach dem Vorgang aus.
    2. Wählen Sie im Bereich Ausführungsmodus die Option Asynchron aus.
    3. Wählen Sie die Option AsyncOperation löschen, wenn Statuscode = Erfolgreich aus.

Legen Sie die Option „AsyncOperation löschen, wenn Statuscode = Erfolgreich“ fest

Siehe auch