Hallo!
Also mir stellt sich folgendes Problem:
Wenn ich ein Skript "A" laufen lasse und es sich um eine Transaktion handelt, ist es kein Problem, wenn es zwischendurch abbricht, da Transaktionen ja rückgängig gemacht werden können.
Was passiert aber bei einem Skript "B" in dem Datenbankschemaänderungen gemacht werden?
Prinzipiell, kann man dann ja nicht einfach das Skript "B" von neuem Starten, sondern muss die schon gemachten Änderungen überspringen.Kann mir da jemand Hilfestellung leisten, in irgendeiner Art und Weise?
[...]Wie wäre es denn, Strukturänderungen an der DB auf ein Minimum zu reduzieren und dieses Minimum dann außerhalb der normalen Betriebszeiten der Datenbank (bzw. des DBMS) umzusetzen?
Nick
Also es läuft bisher so, dass die Datenbankskripte gesammelt werden und zu einem bestimmten Termin dann die Datenbank auf eine bestimmte Version gehoben werden. Zu dieser Zeit wird natürlich nicht auf der Datenbank gearbeitet. Dennoch liegen natürlich wichtige Daten in der Datenbank, die nicht verloren gehen dürfen.
Aber was genau kann man dagegen machen, wenn ein Skript dann mittendrin abbricht? Am besten wäre es, wenn ich das Skript einfach erneut einspielen würde und es mir den gewünschten Stand der Datenbank herstellt. Aber wie schon erwähnt, wird ein Teil des Skriptes ja dann doppelt ausgeführt.
Dahingehend benötige ich dringend eine Lösung.
Ich meine prinzipiell könnte man sagen, der Datenbankadministrator, der die Skripte einspielt, muss dann halt schauen, dass er die Datenbank entsprechend wieder anpasst, aber ich suche halt nach Möglichkeiten die es evtl. ermöglichen diesen manuellen Schritt zu umgehen. Sodass man abgebrochene Skripte einfach erneut einspielen kann und danach den korrekten Stand der Datenbank erreicht.