Transaktionen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Datenbanken verwenden


Eine Transaktion besteht aus einer Gruppe von Aktionen, die für eine oder mehrere der Tabellen in einer Datenbank komplett ausgeführt werden müssen, damit sie festgeschrieben (committed) werden. Schlägt eine der Aktionen in der Gruppe fehl, werden alle Aktionen rückgängig gemacht.

Transaktionen stellen Folgendes sicher:

  • Innerhalb einer einzelnen Transaktion werden alle Aktualisierungen festgeschrieben oder rückgängig gemacht und auf ihren vorhergehenden Status gesetzt. Dies wird als Atomizität bezeichnet.
  • Eine Transaktion ist eine korrekte Transformation des Systemstatus, wobei die Statusinvarianten beibehalten werden. Dies wird als Konsistenz bezeichnet.
  • Parallel ausgeführte Transaktionen sehen gegenseitig nicht ihre unvollständigen oder nicht festgeschriebenen Ergebnisse, was zu Inkonsistenzen des Anwendungsstatus führen könnte. Dies bezeichnet man als Isolierung.
  • Festgeschriebene Aktualisierungen von Datensätzen überstehen Ausfälle, einschließlich Kommunikationsausfällen, Prozessausfällen und Ausfällen des Server-Systems. Dies bezeichnet man als Resistenz.

Transaktionen schützen also vor Hardware-Fehlern, die während der Ausführung eines Datenbankbefehls oder einer Gruppe von Datenbankbefehlen auftreten. Durch die Transaktionsprotokollierung ist es möglich, nach Ausfällen von Datenträgern den resistenten Zustand wiederherzustellen. Transaktionen bilden außerdem die Grundlage für die Nebenläufigkeitssteuerung bei der Unterstützung mehrerer Benutzer auf SQL-Servern. Wenn jeder Benutzer nur unter Verwendung von Transaktionen mit der Datenbank kommuniziert, können die Befehle des einen Benutzers die Transaktionen des anderen Benutzers nicht stören. Stattdessen plant der SQL-Server die Ausführung eingehender Transaktionen ein, die entweder als Ganzes erfolgreich sind oder als Ganzes fehlschlagen.

Die meisten lokalen Datenbanken unterstützen keine Transaktionen, außer Local InterBase.

Detaillierte Informationen zur Verwaltung von Transaktionen finden Sie unter:

In mehrschichtigen Anwendungen können Sie Transaktionen erstellen, die auch andere Aktionen als Datenbankoperationen beinhalten oder die sich über mehrere Datenbanken erstrecken. Detaillierte Informationen zur Verwendung von Transaktionen in mehrschichtigen Anwendungen finden Sie unter Transaktionen in mehrschichtigen Anwendungen verwalten.

Siehe auch