Datenverlust in Datenbank vorbeugen

2 Antworten

Es gibt unter den meisten SQL Systemen Transaktionen. Dort kannst du zum Beispiel festlegen wann eine Folge von Anweisungen beginnt und endet. Sollte dazwischen etwas passieren kannst du die ganze Transaktion wider rückgänig machen.

http://de.wikipedia.org/wiki/Transaktion_%28Informatik%29

An sonsten mach dir da nicht so viele Gedanken und lass es in den Standardeinstellungen. Wie du oben schon geschrieben hast ist es wichtig regelmäßig Backups zu machen. Sollte mal was passieren dann kannst du von diesem aus etwas einspielen bzw. in der Datenbank manuell Reperaturen ausführen und dein Problem suchen und dich weiter belesen.

Oh, vielen Dank für den Link und die Tipps. Ich werde auf jeden Fall schauen, die Transaktion irgendwie in das Script eingebaut zu bekommen. Das sorgt ja dann, wenn ich es richtig verstanden habe dafür, dass eine Aktion entweder ganz oder eben gar nicht durchgeführt wird.

Ich frage mich nur, ob es potenziell möglich wäre, dass wenn mehrer User auf den selben Wert in der Datenbank zugreifen, möglicherweis zwei sogar diesen Wert gleichzeitig modifizieren wollen, ob die Aktionen dann nacheinander und reibungslos ausgeführt werden (einer also in Warteposition steht), oder ob einfach ohne Rücksicht auf Verluste gleichzeigtig gelöscht und geschrieben und was weiß ich nicht noch alles wird, und am Ende nur Müll bei rauskommt oder sogar alle Daten weg sind.

1
@itsstupid

Dafür ist doch das Datenbank Management System da, dass eben solche Fehler beim Schreiben und Löschen nicht passieren. Was mir grad einfällt ist, dass wenn du viel mit Einschränkungen wie Primärschlüssel, Fremdschlüssel und den kleinsten Datentyp wählst (nicht die Größe sondern Art der Daten), kannst du so bei Programmierfehlern vorbeugen, dass die Dankenbank inkonstitent wird. Solltest du genauere Fragen zu Beispielen oder weiteren Sachen in Richtung Datenbank haben, dann sollten wir das am besten mal nicht hier in der Frage machen.

1
wie ich Datenverlust in der DB verhindern kann.

wurde mit

Klar, viele Backups machen, aber damit es gar nicht erst so weit kommt,

Bereits Beantwortet . Andere Lösungen gibt es nicht.

 wie und durch was kann Datenverlust hier (in einer SQL DB) ausgelöst werden? 

Alle aufzulisten wäre nicht möglich und würde auch den Thread sprengen.

Was muss ich alles beachten, damit möglichst nicht die Datenbank von einem Moment zum anderem plötzlich leer oder Korrupt ist?

Klare Definition der Variablen und auf ausreichend Platz für die DB achten. dazu sollte auch der Server korrekt aufgesetzt sein und so wenig wie möglich mit unnötigen Tools belastet werden. Am Idealsten wäre ein Server der nur rein die DB verwaltet. Aber in der heutigen Zeit klatschen viele unerfahrene soviel Schrott auf den Server da kann und darf man sich nicht wundern das dann eine DB nicht so funktioniert wie Sie soll. Um Erfahrungen mit DB zu sammeln kommt man nicht herum sich diese Erfahrung selbst beizubringen. Kein Seminar ,keine Schulung dieser Welt kann das Praktische wissen vermitteln als wenn jemand selbst sich Problemen aussetzt und diese Löst.

Was möchtest Du wissen?