SQL Datenbank möglichst Lückenlos sichern

MikeMüller

Banned
Registriert
Jan. 2014
Beiträge
1.340
Ich habe eine kleine SQL Datenbank.

Größe sind nur ca. 10 MB.

Das ist meine Kundenverwaltung in der unterm Tag ständig was geschrieben wird.

Oft wäre es praktisch, wenn man einen Fehler gemacht hat, dass man nur 10 Minuten zurück springen kann und dann den Datenstand von vor 10 Minuten wieder da hat.

Wie macht man so etwas am besten?

Am besten mit dem SQL Agenten, oder?
Aber welche Sicherungsart? Er muss ja nicht viel sichern, aber dafür sehr oft.

Wie am besten?
 
Äääähm... was meinst du mit "Fehler"? Ist nach einem solchen "Fehler" die Integrität der Datenbank hinüber? Oder geht's einfach darum, dass man evtl. Daten überschrieben hat und die alten wieder zurück will?

Die saubere Lösung: Schreib dein Programm so um, dass es nicht die Einträge überschreibt, sondern quasi eine History anlegt, dann kann man auch beliebig vor und zurück gehen und Änderungen vergleichen, etc.

Die schmutzige Lösung: Im Normalfall wird so eine DB als einzelne Datei auf der Festplatte gespeichert. Du kannst einfach alle 10 Minuten 'ne Kopie von der Datei ziehen und sie bei Bedarf wieder zurück legen. Das funktioniert aber nur sauber, wenn du deine großen DB Schreiboperationen als Transaktion ausführst.
 
benneque schrieb:
Die saubere Lösung: Schreib dein Programm so um, dass es nicht die Einträge überschreibt, sondern quasi eine History anlegt, dann kann man auch beliebig vor und zurück gehen und Änderungen vergleichen, etc.
Das ist die einzig sinnvolle Lösung.

Jegliche Form von Datenbank-Dump wird, gerade bei viel Aktivität, den Server temporär lahm legen oder aber hinsichtlich der Integrität der Daten Mist bauen.
 
@phi: Theoretisch ist dies möglich. Praktisch aber in Multi-User-Systemen nicht tauglich, da dann auch jegliche Änderungen, die nachträglich noch gemacht worden sind, auch futsch sind.

Wie hier schon gesagt wurde, sollte man so etwas immer in der Anwendungslogik realisieren.
Datenbanksicherungen/Transaktionslogs sollten mMn nur bei ernsthaften Problemen verwendet werden.
 
hm ja stimmt, er suchte ein Undo per user....sowas habe ich in datenbanken noch nicht live gesehen
 
Zurück
Oben