Freigeben über


Transaktionen

Das Konzept der Transaktionen wurde entwickelt, um auf solche Fälle zu reagieren, in denen der sich ergebende Zustand der Datenbank vom Gesamterfolg einer Reihe von Operationen abhängt.Dies kann der Fall sein, wenn beispielsweise mehrere aufeinander folgende Operationen die Ergebnisse von vorangegangenen Operationen ändern.Wenn dann eine der Operationen fehlschlägt, kann der sich ergebende Zustand unbestimmt sein.

Um dieses Problem zu lösen, gruppieren die Transaktionen jeweils eine Reihe von Operationen so, dass die Integrität des Gesamtergebnisses sichergestellt ist.Es müssen entweder alle Operationen erfolgreich sein und dann übermittelt (in die Datenbank geschrieben) werden, oder die gesamte Transaktion schlägt fehl.Der Abbruch einer Transaktion wird als Rollback bezeichnet.Rollbacks ermöglichen das Aufheben vorgenommener Änderungen und stellen den Zustand der Datenbank vor der Transaktion wieder her.

Beispiel: Bei einer automatisierten Transaktion für eine Bank, bei der Geld von Konto A auf Konto B transferiert wird, müssen sowohl das Abheben des Geldes von Konto A als auch das Gutschreiben des Betrags auf Konto B erfolgreich verlaufen, damit die Beträge korrekt verarbeitet werden. Anderenfalls muss die gesamte Transaktion fehlschlagen.

Eine Transaktion muss über ACID-Eigenschaften verfügen, die für Folgendes stehen:

  • Unteilbarkeit (Atomizität)   Eine Transaktion ist eine unteilbare Arbeitseinheit und wird genau ein Mal ausgeführt. Dabei wird entweder die gesamte Arbeit oder gar keine Arbeit verrichtet.

  • Einheitlichkeit (Konsistenz)   Eine Transaktion erhält die Einheitlichkeit der Daten, wobei ein konsistenter Datenzustand in einen anderen konsistenten Datenzustand umgewandelt wird.Die durch eine Transaktion gebundenen Daten müssen semantisch erhalten bleiben.

  • Isolation   Eine Transaktion ist eine Isolations- bzw. Ablaufintegritätseinheit. Jede Transaktion findet separat und unabhängig von gleichzeitig ausgeführten anderen Transaktionen statt.Für eine Transaktion dürfen die Zwischenschritte einer anderen Transaktion nicht sichtbar sein.

  • Dauerhaftigkeit   Eine Transaktion ist eine Wiederherstellungseinheit.Wenn eine Transaktion erfolgreich ausgeführt wird, sind die Aktualisierungen persistent, auch wenn das System nach einer Fehlfunktion beendet oder heruntergefahren wird.Schlägt eine Transaktion fehl, verbleibt das System in dem Zustand, den es vor Übermittlung der Transaktion hatte.

Sie können Transaktionen in OLE DB (siehe Unterstützen von Transaktionen in OLE DB) oder ODBC unterstützen (siehe Transaktion (ODBC)).

Eine verteilte Transaktion aktualisiert verteilte Daten, d. h. Daten, die sich auf mehr als einem vernetzten Computersystem befinden.Wenn Sie Transaktionen über ein verteiltes System unterstützen möchten, sollten Sie Microsoft .NET Framework anstelle der OLE DB-Transaktionsunterstützung verwenden.

Siehe auch

Konzepte

Datenzugriffsprogrammierung