SQL Transaktion inkl. Rollback (Skript)


Transkationen bieten die Möglichkeit eine Datenbank wieder in den Zustand vor dem Ausführen eines z.B. Fehlerhaften SQL Skriptes zurückzusetzten.

Wenn man z.B. eine Abfolge von SQL Befehlen auf einer DB ausführt an der man an unterschiedlichen Tabellen Änderungen vornimmt und beim Update ein Fehler auftritt, dann hat man die Möglichkeit mit Hilfe von Transkationen wieder den Ausgangszustand der DB vor dem Ausführen des Skriptes wieder herzustellen.

Ich verwende dazu das folgende Script, das Script führt bei einem Fehler automatisch ein Rollback der Transaktion durch, funktioniert auch noch für den SQL Server 2005.

 BEGIN TRY
  BEGIN TRAN

 /* SQL CODE der ausgeführt werden soll HIER einfügen */
  
  COMMIT;
 END TRY
 BEGIN CATCH
  /* Fehlerauswertung und der Rollback bei einem Fehler */
  if @@TRANCOUNT > 0
  BEGIN
	ROLLBACK TRAN
  END	

  DECLARE @ErrorMessage VARCHAR(4000)
  SELECT @ErrorMessage = 'Message: '+ ERROR_MESSAGE(); 
  raiserror (@ErrorMessage,16,1)
 END CATCH
Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s