Freigeben über


Asynchrone Verarbeitung der Weitergabe von Transaktionen

Bestimmte Transaktionen können so konfiguriert werden, dass sie sich über alle zugehörigen Datensätze erstrecken. Dies bedeutet, dass die Änderung eines übergeordneten Datensatzes auf alle untergeordneten Datensätze angewendet wird (in Weitergabeaktionen). Kaskadierende Beziehungen werden auf Tabellenebene konfiguriert. Weitere Informationen über Kaskadierungsbeziehungen finden Sie unter Kaskadierendes Verhalten von Tabellenbeziehungen konfigurieren.

Synchroner vs. asynchroner Modus

Standardmäßig wird die Weitergabe der Vorgänge als synchrone Transaktion ausgeführt. Bei einer synchronen Weitergabe der Transaktion werden alle betroffenen Datensätze vom System identifiziert. Wenn die Datensätze verarbeitet werden, werden sie vom System blockiert. Sobald alle Änderungen abgeschlossen sind, werden die Datensätze entsperrt und die Transaktion abgeschlossen.

Synchrone Transaktionen mit einer großen Anzahl von Datensätzen können zu Leistungsproblemen in Umgebungen führen, in denen Transaktionen mit langer Laufzeit aufgrund von Server-Timeouts fehlschlagen. Die Datensätze sind gesperrt und verhindern, dass andere Aufträge und Benutzertransaktionen, die mit denselben Datensätzen arbeiten, ausgeführt werden. Darüber hinaus kann es bei lang laufenden Transaktionen zu einem Rückstand anstehender Transaktionen und Anforderungen kommen, die die Systemleistung beeinträchtigen und zu einem Arbeitsausfall führen können.

Wenn in einer Umgebung während der Ausführung der synchronen Weitergabe der Transaktionen Zeitüberschreitungen oder Leistungseinbußen auftreten, kann die Umgebung davon profitieren, wenn der asynchrone Modus aktiviert wird. Die Hauptunterschiede zwischen den Modi werden in der folgenden Tabelle beschrieben.

Synchroner Modus Asynchroner Modus
Für den gesamten Satz ausgewählter Datensätze (direkt oder kaskadierend) können andere Aufträge erst ausgeführt werden, wenn die Weitergabe des Vorgangs abgeschlossen ist. Bei „Zuweisen“, „Löschen“ und „Zusammenführen“ werden kaskadierende Änderungen stapelweise durchgeführt, wobei nur die Datensätze gesperrt werden, die innerhalb des Batches verarbeitet werden. Auf diese Weise können andere Jobs während der vollständigen Weitergabe der Änderungsvorgänge ausgeführt werden.
Wenn der Auftrag abgeschlossen ist, zeigen alle Daten den neuen gewünschten Wert. Während der Ausführung des Auftrags zeigt jeder abgeschlossene Batch den gewünschten Wert an. Dies bedeutet, dass es eine Zeit geben wird, in der einige Daten den gewünschten Wert und einige den ursprünglichen Wert anzeigen, bis der vollständige Vorgang abgeschlossen ist. Dies wird als „Letztliche Konsistenz“ bezeichnet.
Wenn ein einzelner Datensatz fehlschlägt, werden alle Daten auf den ursprünglichen Wert zurückgesetzt. Für die Zurücksetzung müssen alle abgeschlossenen Datensätze erneut bearbeitet werden, was mehr Zeit in Anspruch nimmt. Wenn ein einzelner Auftrag fehlschlägt, wird er mehrmals wiederholt, um den Abschluss zu erreichen. Wenn der Auftrag nicht abgeschlossen werden kann, wird der Fehler im Bereich Systemaufträge aufgezeichnet. Beachten Sie, dass erfolgreich abgeschlossene Datensätze den neuen Wert beibehalten.
Wenn einer der Datensätze in der Liste der Weitergaben einen anderen Wert als den erwarteten aufweist, schlägt der Auftrag fehl und es wird ein Rollback ausgeführt. Beispielsweise gehört der anfängliche Datensatz Besitzer 1 und durch die Weitergabe des Vorgangs soll dieser in Besitzer 2 geändert werden. Wenn einer der nachgelagerten zugehörigen Datensätze in Besitzer 3 geändert oder gelöscht wird, bevor die Sperre auftritt, wird der gesamte Auftrag zurückgesetzt. Für „Zuweisen“ funktioniert der Vorgang immer im Überschreibmodus, wenn der aktuelle Wert auf der Grundlage der Übergeordnet/Untergeordnet-Beziehung in den neuen Wert geändert wird. Es gibt keine Auftragsfehler aufgrund eines nicht übereinstimmenden ursprünglichen Werts. Für „Löschen“, wenn ein Datensatz, der als Teil des Satzes erwartet wurde, fehlt, gelten alle Datensätze bis zum Fehlerpunkt als abgeschlossen. Der Benutzer oder Administrator kann den fehlgeschlagenen Auftrag erneut ausführen, wodurch der Auftrag neu berechnet wird, um ohne den fehlenden Datensatz fortzufahren. Wenn bei „Zusammenführen“ ein Problem mit einem fehlenden Datensatz auftritt, wird der Auftrag erneut versucht und ohne den fehlenden Datensatz ausgeführt.

Asynchroner Modus

Wenn eine kaskadierende Transaktion den Schwellenwert für eingeschlossene Datensätze erreicht, werden die Datensätze asynchron verarbeitet.

Operation Schwellenwert
Assign 1.000 Datensätze
Delete 5,000 Datensätze
Merge 1.000 Datensätze

Nachverfolgung des asynchronen Betriebsfortschritts

Administratoren können die Verarbeitung von asynchronen Vorgängen im Bereich Einstellungen überwachen.

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

  2. Wählen Sie im Navigationsbereich Umgebungen aus. Wählen Sie dann die gewünschte Umgebung aus.

  3. Wählen Sie Einstellungen, erweitern Sie Audit und Protokolle und wählen Sie dann Systemaufträge.

  4. Die Kaskadierungsvorgänge werden in der Ansicht Systemaufträge angezeigt.

    Ansicht „Weitergabevorgänge“

    Um nur die Weitergabe der Vorgänge anzuzeigen, wählen Sie in der Auswahl Ansicht die Option Weitergabe der Vorgänge aus.

    Auswahl der Ansicht „Weitergabevorgänge“

Die Weitergabe der Vorgänge weist einen der folgenden Status auf:

  • Abgeschlossen: Alle Stapel der Weitergabe der Transaktion wurden erfolgreich abgeschlossen.
  • In Bearbeitung: Die Weitergabe der Änderungen ist in Bearbeitung.
  • Fehlgeschlagen: Nach mehreren Wiederholungsversuchen sind einige der Weitergaben der Änderungen fehlgeschlagen.

Notiz

Es ist nicht möglich, eine asynchrone Weitergabe des Auftrags abzubrechen. Sie müssen warten, bis der Vorgang abgeschlossen ist, indem Sie den Status mit Abgeschlossen oder Fehler angeben.

Das Öffnen der Weitergabe der Vorgänge wird angezeigt:

  • Wie viele Wiederholungsversuche sind für die bestimmte Transaktion aufgetreten?

  • Erstellte und vervollständigte Daten und Zeiten.

  • Wer hat den Auftrag erstellt.

  • Mit dem Auftrag verknüpfte Nachrichten, z. B. Fehlerursachen oder Ausnahmen.

    Aufzeichnung der Weitergabevorgänge

Welche Weitergabe der Transaktionen kann asynchron verarbeitet werden?

Kaskadierende Transaktionen zum Zuweisen, Löschen und Zusammenführen können asynchron verarbeitet werden.

Notiz

Andere Transaktionen, wie z. B. Teilen/Teilen aufheben, Rollup-Ansicht und Überordnungsverhältnis, werden derzeit auf asynchrone Verarbeitung überprüft.

Fehlerbehebung bei Problemen mit asynchronen Kaskadierungsvorgängen

Wenn synchrone Kaskadierungsaufträge fehlschlagen, stoppen sie und es wird ein Rollback für alle Änderungen ausgeführt, sodass keiner der Datensätze die angeforderten Änderungen enthält. Dies kann ein zeitaufwändiger Prozess sein, da Rollbacks so lange dauern können, wie der ursprüngliche Versuch und die Wiederholung des Vorgangs von der ersten Aufzeichnung an beginnen.

Asynchrone Vorgänge werden zahlreiche Male wiederholt, wenn ein Fehler auftritt. In den meisten Fällen führt eine Wiederholung des Auftrags zum Erfolg, und der Auftrag kann bis zum Abschluss fortgesetzt werden. In einigen seltenen Fällen kann das Problem durch wiederholtes Ausführen der Synchronisierung nicht gelöst werden. Wenn dies geschieht, wird der asynchrone Auftrag angehalten, und der Administrator und der Benutzer können das Problem beheben und den Auftrag an der Stelle fortsetzen, an der er angehalten wurde.

Häufige Ursachen für Fehlschläge bei Kaskadierungsoperationen

Häufige Gründe für Fehler bei der Verarbeitung von Kaskadierungsvorgängen sind:

  • Plug-In-Ausnahmen
  • Sicherheitsausnahmen

Plug-In-Ausnahmen

Plug-Ins werden bei der Verarbeitung von Kaskadierungsvorgängen hinzugefügt, um bestimmte Aktionen durchzuführen, wenn Änderungen an einem Datensatz vorgenommen werden, wie z. B. das Senden einer E-Mail oder das Auslösen einer anderen Aktualisierung anderer Datensätze. Sie können von Dritten bereitgestellt oder intern entwickelt werden. Wenn ein Plug-In eine Ausnahme erzeugt, schlägt der Kaskadierungsvorgang fehl. Je nach dem Grund für die Ausnahme kann ein erneuter Versuch das Problem lösen. Wenn der asynchrone Kaskadenauftrag aufgrund von Fehlern angehalten wird, validieren Sie alle Plug-Ins, die mit den Vorgängen verbunden sind, um sicherzustellen, dass sie keine Ausnahmen erzeugen. Sobald die Konflikte behoben sind, kann die Arbeit wieder aufgenommen werden.

Sicherheitsausnahmen

Sicherheitsausnahmen treten auf, wenn der Benutzer, der den Kaskadierungsvorgang ausgeführt hat, nicht über ausreichende Berechtigungen verfügt, um eine Änderung an einem oder mehreren Datensätzen vorzunehmen, oder wenn der Benutzer deaktiviert oder aus dem System entfernt wird.

Wenn der Benutzer noch im System ist, überprüfen Sie, ob er über die erforderlichen Berechtigungen zum Ändern der Datensätze verfügt und ob er die Berechtigung zum Ausführen der angegebenen Aktionen besitzt. Nachdem dies gelöst ist, nehmen Sie den Auftrag wieder auf.

Wenn der Benutzer deaktiviert oder aus dem System entfernt wurde, wird das Problem durch erneutes Aktivieren oder Lesen des Benutzers gelöst und der Auftrag kann wieder aufgenommen werden. Wenn der Benutzer jedoch gelöscht oder deaktiviert werden muss oder keine Berechtigungen für die Aktionen oder Aufzeichnungen haben soll, sollte der Auftrag von jemandem mit den entsprechenden Berechtigungen abgebrochen und neu gestartet werden.

Bei allen anderen Problemen mit fehlgeschlagenen Aufträgen wenden Sie sich an den Microsoft Support. Mehr Informationen: Übersicht über den Support

Fehlerbehebung beim Löschen von Dateien während der Zusammenführung in Kaskade

Wenn bei Kaskaden-Merge-Operationen Fehler auftreten, weil Dateien während des Auftragslaufs gelöscht werden, können Sie die übergeordnete Prüfung überspringen. Auf diese Weise können Sie Ihre Zusammenführung fortsetzen, auch wenn jemand einen Datensatz aus dem Satz löscht, während der Auftrag im Hintergrund läuft. Wenn Sie sich für das Zusammenführen von Datensätzen entscheiden, deaktivieren Sie dazu am unteren Rand des Zusammenführungsfensters die Option Übergeordnete Prüfung ist standardmäßig aktiviert. Deaktivieren Sie diese Option, um die übergeordnete Prüfung zu ignorieren.

Dialogfeld „Datensätze zusammenführen“

Beispiel für das Zusammenführen von Datensätzen

Stellen Sie sich vor, Sie haben Konten mit einer Beziehung zur Kontaktperson, die eine Beziehung zu Bestellungen hat. Sie möchten zwei Kontodatensätze zusammenführen.

Wenn der Auftrag erfolgreich ausgeführt wird, weist die Zusammenführung alle zugehörigen Kontakte und ihre Aufträge dem Zielkonto zu.

Wenn während des Zusammenführungsvorgangs ein anderer Benutzer einen Bezugskontaktdatensatz löscht, aber noch Auftragsdatensätze in Bezug auf den Kontaktdatensatz existieren, schlägt der Zusammenführungsauftrag fehl, weil ein übergeordneter zu einem untergeordneten Datensatz fehlt. Wenn Sie beim Zusammenführen der Datensätze die übergeordnete Prüfung überspringen, werden die Aufträge mit dem fehlenden Kontaktdatensatz im Zielkontodatensatz zusammengeführt. Dem Zielkonto werden jedoch keine zugehörigen Kontaktdatensätze zugewiesen, und der Auftrag wird abgeschlossen.

Merge verursacht Sperren, die andere Zugriffsänderungen verhindern

Die Operation Kaskadierendes Zusammenführen gewährt dem neuen Besitzer der untergeordneten Tabelle Zugriff. Zu diesem Zweck greift der Vorgang „Kaskadierendes Zusammenführen“ auf die Prinzipalobjekttabelle zu und nimmt Änderungen daran vor, die eine Sperre erfordern. Wenn ein Zusammenführungsvorgang viele Datensätze enthält (basierend auf der Kaskadenbeziehung), kann diese Sperre für längere Zeit bestehen bleiben. Dies könnte zu einem Fehler führen, wenn eine Operation versucht, den Zugriff auf einen nicht verwandten Datensatz zu gewähren oder zu widerrufen, während die Zusammenführung ausgeführt wird. Versuchen Sie in diesem Fall, die Zusammenführung außerhalb der Geschäftszeiten auszuführen, um die Blockierung zu verringern.

Siehe auch

Übersicht über Tabellenbeziehungen