dreamcatcher
Goto Top

truncate table rückgängig machen?

Hallo,
ein Kunde hat leider alle seine Nutzerdaten per "TRUNCATE TABLE `tabelle`" gelöscht obwohl er nur eine bestimmte Gruppe herausnehmen wollte.

Kann man den Befehl irgendwie wieder Rückgängig machen und die Daten wiederherstellen?
Habe nichts gefunden in der Richtung (außer "glaube nein") und schätze mal es sieht schlecht aus. Sollte jemand etwas einfallen wäre ich sehr dankbar... ich schreibe derweil ein Konzept & Angebot über eine Datensicherung ;)

Grüße

Content-Key: 109492

Url: https://administrator.de/contentid/109492

Printed on: April 16, 2024 at 19:04 o'clock

Member: Biber
Biber Feb 19, 2009 at 17:53:38 (UTC)
Goto Top
Moin DreamCatcher,

ich will mal nicht gleich mit der Tür ins Haus fallen, aber....

Du hast ja auf unnötige Schnörkel und Details wie etwa Vor- oder Nachname der Datenbank-Version verzichtet...

Ist aber in dem Falle (trotz unterschiedlicher Implementierungsstrategien der drei wahrscheinlichsten Systeme) vollkommen wurscht.

  • bei Oracle können mit TRUNCTATE weggeknallte Datensätze nicht per ROLLBACK zurückgeholt werden, da sie nicht mit ins UNDO-Log geschrieben werden

  • Bei MySQL (ab 5.0.3) können mit TRUNCTATE weggeknallte Datensätze nicht zurückgeholt werden, weil MySQL nicht die Sätze löscht, sondern einfach die Tabelle DROPped und huschhusch wieder neu CREATEd.

  • bei MSSQL können mit TRUNCTATE weggeknallte Datensätze nicht zurückgeholt werden, weil ....na ja, geht es wie zu erwarten war, bei den Redmondern etwas behäbiger zu, aber auch dort wird auch nichts satzweise angefasst, sondern einfach alle Speicher-Pages, die von Datensätzen dieser Tabelle beansprucht werden deallokiert. Also freigegeben. Und ins Transaktionsprotokoll wird intelligenterweise die Info geschrieben "TRUNCTATE table bla" und die IDs der freigegebenen Pages/Zylinder auf der Platte (Anm.--->Memo an mich: Nobelpreiskomittee in Stockholm mit in den CC nehmen.). Diese Strategie ist zur Erhaltung von Werten so hilfreich wie ein Glos als Bundeswirtschaftsminister - hält aber länger.

Also kurzgefasst: egal ob Dein User nun auf Oracle, MySQL oder dem altbackenen MSSQL rumgespielt hat:

Falls es keine halbwegs aktuelle Vollsicherung gibt ist alles wech.

Grüße
Biber