📖Transaktionssteuerung

Unter einer SQL-Transaktion versteht man einen atomaren Anweisungsblock einer Folge von logisch zusammenhängenden Mutationen.

Merkmale einer Transaktion

  • Die Anweisungen laufen nach dem Prinzip ab: "ALLES ODER NICHTS" (vgl. ACID).

  • Vor und nach einer Transaktion herrscht absolute Konsistenz.

  • Änderungen werden erst gespeichert und für andere Benutzer sichtbar, wenn die

    Transaktion beendet ist.

  • Solange die Transaktion läuft, sind alle betroffenen Daten gesperrt.

  • Transaktionen sollten wegen der Sperren so kurz wie möglich dauern und möglichst

    wenig SQL-Code kapseln.

  • Es besteht die Möglichkeit des Zurückrollens (Rollback), wenn in der Transaktion ein

    Fehler auftritt oder diese abbricht. Es handelt sich dabei um ein implizites Rollback in

    den Zustand vor der Transaktion.

  • Für die Rückgängigmachung wird ein Logbuch geführt, auch Transaktions-Protokoll

    genannt. Dieses ist logisch aufgebaut, bestehend aus Anweisungen und nicht aus Zuständen.

Transaktionssteuerung bei SQL Server

Eine Transaktion kann mit folgenden Anweisungen gesteuert werden.

Starten einer Transaktion

BEGIN TRANSACTION [name];
  • Name für bessere Übersicht optional

Savepoint erstellen

SAVE TRANSACTION name;
  • Zurückrollen bis zum Savepoint möglich

  • Transaktion und Anweisungen vor Savepoint bleiben bestehen

Transaktion abschliessen

COMMIT TRANSACTION [name];
  • Alle Änderungen werden unwiderruflich gespeichert und für alle sichtbar

Transaktion zurückrollen

ROLLBACK TRANSACTION [name];
  • Alle Änderungen werden unwiderruflich verworfen

Last updated

Was this helpful?