Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Ferndatenzugriff und Arbeit mit Massendaten » Ferndatenzugriff » Transaktionsverwaltung und entfernte Daten

 

Entfernte Transaktionsverwaltung

Die Methode zur Verwaltung von Transaktionen unter Einbeziehung von Fremdservern benutzt ein Zwei-Phasen-Commit-Protokoll. SQL Server Anywhere implementiert eine Strategie, die in den meisten Fällen die Integrität der Transaktionen gewährleistet. Wenn mehr als ein Fremdserver in eine Transaktion einbezogen werden, besteht trotzdem die Möglichkeit, dass eine Arbeitseinheit in einem unbestimmten Zustand verbleibt. Obwohl das Zwei-Phasen-Commit-Protokoll benutzt wird, gibt es keinen integrierten Wiederherstellungsprozess.

Die allgemeine Logik für die Verwaltung einer Benutzertransaktion ist wie folgt:

  1. SQL Anywhere stellt den an einen Fremdserver gesendeten Aufgaben die Mitteilung BEGIN TRANSACTION voran.

  2. Wenn die Transaktion zum Festschreiben bereit ist, sendet SQL Anywhere die Mitteilung PREPARE TRANSACTION an jeden Fremdserver, der an der Transaktion teilgenommen hat. Damit wird sichergestellt, dass der Fremdserver bereit ist, die Transaktion festzuschreiben.

  3. Wenn eine PREPARE TRANSACTION-Anforderung fehlschlägt, werden alle Fremdserver angewiesen, die aktuelle Transaktion zurückzusetzen.

    Wenn alle PREPARE TRANSACTION-Anforderungen erfolgreich sind, sendet der Server eine COMMIT TRANSACTION-Anforderung an jeden Fremdserver, der an der Transaktion beteiligt ist.

Jede Anweisung mit der Einleitung BEGIN TRANSACTION kann eine Transaktion beginnen. Andere Anweisungen werden am Fremdserver als einzelne, entfernte Arbeitseinheit ausgeführt.