Schnelle Wiederherstellung von SQL-Tabellen

Kaum eine Aufgabe ist so nervenaufreibend und zeitintensiv wie die Wiederherstellung von einzelnen Tabellen aus einer SQL-Datenbank. Dabei können die Gründe für eine Anfrage an den verantwortlichen Datenbank-Administrator (DBA) unterschiedlicher nicht sein: Manchmal ist es ein Entwickler, der beim Testen aus Versehen eine wichtige Tabelle gelöscht hat, dann wieder müssen die Einträge geändert werden, da sich die Dateneinheit geändert hat und schließlich muss eine komplette Tabelle deshalb wiedergestellt werden, weil das gesamte System abgestürzt ist. Egal welcher Grund vorliegt: Auf den Mitarbeiter kommt viel Arbeit zu.

Umständlicher Restore-Prozess nach traditioneller Weise

Bislang gab es eigentlich nur einen Weg, um einzelne  gelöschte Tabellen beim Microsoft SQL-Server wiederherzustellen: Mittels eines vorhandenen Backups wird die komplette Datenbank über die integrierte Restore-Funktion wiederhergestellt. Dazu wird das letzte vorhandene  Backup oder Snapshot der betreffenden Datenbank herangezogen, mit der Hoffnung, dass sich auf diesem auch die gewünschten verlorengegangenen Tabellen oder Tabelleneinträge wirklich befinden. Jetzt wird ein SQL-Recovery-Server benötigt, der über genügend Platz zum Entpacken des Backups verfügt. Anschließend wird das Backup in den zweiten SQL-Server eingespielt und der Restore durchgeführt.

Im besten Fall kann man jetzt die entsprechende Tabelle und Einträge aus dem entpackten Backup identifizieren. Im letzten Schritt muss nun die Tabelle dahingehend überprüft werden, welche Änderungen und Ergänzungen in der Tabelle auf dem Original-SQL-Server in der Zwischenzeit hinzugekommen sind. Üblicherweise wird der Abgleich der beiden Tabellendaten per T-SQL-Scripting durchgeführt. Anschließend kann eine zusammengeführte Tabelle in den Liveserver integriert werden und sollte dann problemlos funktionieren.

Anstrengend wird es dann, wenn man mehrere Anläufe braucht, um verlorene Tabellen zu finden. Dann ist man beim traditionellen Ansatz gezwungen Backups mehrmals hintereinander komplett wiederherzustellen. Dabei gilt: Je größer die Datenbank, desto länger der Restore-Prozess. Dabei können bei Terabyte-großen Datenbanken auch schon mal mehrere Stunden bis Tage vergehen, bis das Backup entpackt wurde ohne sicher zu sein, die richtige Tabelle zu finden.

Schnelleres Auffinden von einzelnen Tabellen

Ganz anders die Speziallösung des weltweit agierenden Datenrettungsdienstleisters Kroll Ontrack – Ontrack PowerControls für SQL 8.1: Die von den bei der Datenrettung eingesetzten Technologien abstammende Software unterstützt DBAs bei den zwei zeitaufwendigsten Aufgaben eines granularen Tabellen-Restores: Dem Auffinden und dem Wiederherstellen der Tabelle aus vorhandenen Backups.

Dabei spart der Anwender den zeitaufwendigen Schritt der Standard-Methode – dem Restore auf einen zweiten SQL-Server. Stattdessen kann PowerControls für SQL vorhandene Backups direkt einlesen. Einfach das aktuelle – oder jedes beliebige – Backup einlesen und die Inhalte per integrierter Vorschau anschauen. So wird das Auffinden der gesuchten Original-Tabelle eine Sache von Sekunden, statt Stunden oder gar Tagen.

Ist die passende Tabelle identifiziert, lässt sie sich per Drag & Drop an jeder beliebigen Stelle im Netzwerk verschieben. Wurden z.B. auf einem Entwicklungsserver keine neuen Einträge generiert, lässt sich die gefundene Tabelle einfach auf diesen zurückverschieben und einbinden. Aber auch bei dem gängigen Szenario, bei dem sich das Datenmaterial ständig ändert, kann die Drag & Drop Funktion von Vorteil sein:  Nach dem Auffinden der Tabelle, wird diese per Scripting mit der Tabelle auf dem aktiven SQL-Server abgeglichen und in einer neuen Tabelle zusammengeführt. Diese lässt sich dann ebenfalls innerhalb weniger Sekunden verschieben und einbinden.

Fazit: Durch Einsatz spezialisierter Software lassen sich die zeit- und kostenaufwendigsten Arbeitsschritte komplett einsparen. Dabei unterstützt die neue PowerControls für SQL  8.1  neben nativen unkomprimierten SQL Full-Backups (.bak-Dateien) des Microsoft SQL-Servers auch native komprimierte Backups.  Alternativ lassen sich auch MDF- und NDF-Backup-Dateien zusammen mit LDF-Log-Dateien einsetzen. Es ist geplant in künftigen Versionen auch Formate weitererer namhafter Backup-Hersteller zu unterstützen. Ontrack PowerControls für SQL 8.1 unterstützt Microsoft SQL Server 2014, 2012, 2008 R2, 2008 & 2005.