ApexSQL Log

Werbung
ApexSQL Log
für SQL Server 2000 und 2005
Der Industriestandard für SQL Datenbanklog-Betrachtung und Wiederherstellung
Datenblatt
Wiederherstellungs-Assistent bietet 5 Arten der Wiederherstellung an:
1. Wiederherstellung von gelöschten Daten: Alles was mit dem DELETE Befehl gelöscht wurde
Diese Art der Wiederherstellung kann von den traditionellen Transaktionsprotokolldateiquellen (Online, Backup, Detached)
oder von Online-Datenbank-Dateien. Die erste Option ist seit Anfang 2004 in der Form von UNDO-Skripte verfügbar. Jetzt
wurde es in den Wiederherstellungsassistenten eingebaut. Es ist aber immer noch als Generator der UNDO-Skripte für eine
individuelle und präzisere Wiederherstellung vorhanden.
Die zweite Option ist neu in Log 2005 und ermöglicht eine Wiederherstellung, auch wenn die Datenbank nicht im FULLRECOVERY-Modus läuft und keine relevanten Transaktionsprotokolldateien Verfügung stehen. Diese Option durchsucht die Datenseiten nach jedem Bit gelöschter Information und versucht, gelöschte Zeilen und sogar ihre BLOB-Daten von hier aus
wiederherzustellen. Wie bei allen anderen Datenseiten-Wiederherstellungstools hängt die Qualität und Vollständigkeit der
wiederhergestellten Daten von den nachfolgenden Ereignissen (in diesem Fall DELETE) und der Aktivität, welche auf der
Datenbank stattfindet.
2. Wiederherstellung von abgeschnittenen Daten: Alles was mit dem TRUNCATE TABLE Befehl gelöscht wurde
Wir haben diese Art der Wiederherstellung in ApexSQL Log 1.85 eingeführt und ist heute im Wiederherstellungsassistenten
integriert. Diese Art der Wiederherstellung kann nur auf Online-Datenbank Datenfiles angewendet werden und nicht für durch
die Transaktions-Protokollquelle da ein TRUNCATE keine Daten in die Logdateien schreibt (deshalb ist es auch schneller als
DELETE). Wiederherstellung erfolgt durch eine Analyse der freien Seiten in der MDF-Datei und der Erfolg, wiederhergestellten
Daten hängt davon ab, wie gross die nachfolgende Aktivität auf der Datenbank ist.
"P.S. Was ich bis jetzt
gesehen habe kann ich so
bestätigen. Es ist ehrlich
gesagt ein grossartiges
Tool und das User Interface
ist exzellent. Oft verwende
ich ein Programm nicht,
weil es verwirrend,
chaotisch oder einfach
schrecklich zum anschauen
ist, sogar wenn es das
Beste Programm ist. Mit
ApexSQL Log gibt es solche
Probleme nicht! :)"
M. Holman
Computer Programmer
Black Stump Group
Perth, West. Australia
3. Wiederherstellung von gedroppten Daten: Alles was mit dem DROP TABLE Befehl gelöscht wurde
Diese Art der Wiederherstellung kann durch traditionelle Transaktionsprotokolldateiquellen plus Online-Datenbankdateien oder
nur von Online-Datenbankdateien erfolgen. Wir haben diese erste Option in der Version 1.85 eingeführt und wir nutzen darin
Transaktionsprotokolldateien um Tabellenstrukturen und Online-Datenbankfiles um Daten wiederherzustellen.
Die zweite Option ist neu in ApexSQL Log 2005 und ermöglicht eine komplette Wiederherstellung der Daten sogar dann, wenn
die DB nicht im FULL RECOVERY Modus betrieben wird und keine relevanten Transaktionsprotokolldateien zur Verfügung
stehen. Tabellenstruktur und Daten werden hier aus gefundenen freien Seiten in den Datenbankdateien wiederhergestellt.
4. Wiederherstellung von verlorenen Daten: Stellen Sie Daten von abgehängten Datenfiles (MDF) wieder her
Dies ist eine neue Option in ApexSQL Log 2005. Es erlaubt Ihnen gelöschte Daten (DELETE, DROP, TRUNCATE) von einer
losgelösten Datei oder Dateien (Detached) wiederherzustellen. Aber noch wichtiger ist es erlaubt volle Datenrettung von
Dateien, die sich nicht wieder in die SQL-Server anfügen lassen(Attached) Bei dieser Option können zurzeit nur Daten oder
Tabellenstrukturen wiederhergestellt werden. Es erlaubt keine anderen Datenbankobjekte wie Sichten, gespeicherte
Prozeduren usw. wiederherzustellen.
5. Wiederherstellung von verlorenen Datenbankobjekten
Diese Art der Wiederherstellung kann durch traditionelle Transaktionsprotokolldateiquellen oder durch Daten DatenbankDateien erfolgen. Erste Option ist die gleiche wie DDL REDO, die zum ersten Mal in ApexSQL Log 1.50 eingeführt wurde. DDL
REDO als auch sein Pendant DDL UNDO stehen weiterhin zur Verfügung.
ApexSQL LLC
50101 Governors Dr.,
Suite 200
Chapel Hill, NC 27517 USA
1-866-665-5500
1-919-968-8444
[email protected]
www.apexsql.com
"...Ihr Produkt hat tolle
Arbeit geleistet und die
Jungs in der
Revisionsabteilung sind
glücklich."
David O'Keefe
Analyst/Programmer
Fimat Australia
ApexSQL Log
für SQL Server 2000 und 2005
Der Industriestandard für SQL Datenbanklog-Betrachtung und Wiederherstellung
1. Wir sehen mehr und mehr Fälle, in denen Benutzer mit Enttäuschung von
Ihrer Erfahrung im Zusammenhang mit Recovery-Tools und in Bezug auf
Erfolg in Sachen Wiederherstellung berichten. Zum Beispiel, was mache ich,
wenn ich eine Tabelle abschneide und das Logfile automatisch am Checkpoint
abgeschnitten wurde (das ist die Standardeinstellung mit SQL Server)?
Das Problem mit Disaster Recovery ist in den meisten Fällen, dass Sie sich zu Beginn
in einer suboptimalen Situation befinden. Mit Tools, die davon ausgehen, perfekte
Bedingungen vorzufinden, wie eine unbeschädigte Transaktions Logdatei, gültige
Datenbank-Backups und / oder bestehende ungelöschte Objekte, unveränderte
Schemas, usw. scheitern in den meisten alltäglichen und realen Situationen.
Bis anhin (mit Versionen von ApexSQL Log bis zu Version 2005 und mit allen anderen
Logbetrachter- / Wiederherstellungs-Tools) - wenn dies in Ihren Fall zutreffend war hatten Sie praktisch kein Glück bei einer Wiederherstellung und Ihre einzige Möglichkeit
war, eine Rücksicherung eines Backups. Doch mit der neuen Technologie, die in ApexSQL
Log 2005 implementiert ist, können Sie versuchen, gelöschte Daten wiederherzustellen.
Es gibt keine Garantie dafür, dass Sie jederzeit in der Lage sind die Daten
wiederherzustellen. Aber wenn Sie schnell genug handeln, sind Ihre Chancen sehr gross,
dass Sie erfolgreich Daten wiederherstellen können.
ApexSQL Log 2005 bietet ein hohes Mass an Redundanz an und stellt sicher, dass
eine sehr viel höhere Erfolgsquote im Vergleich zu anderen Produkten, was die
Wiederherstellung anbelangt, erreicht wird. Dies sogar in Situationen mit einer
schlechteren Ausgangslage.
2. Weshalb kann dieses Tool nicht immer alles wiederherstellen?
In den meisten Fällen können sie nur wieder angehängt werden. In diesen Fällen
erstellt der SQL Server automatisch eine neue Transaktions-Log-Datei und führt die
Arbeit weiter. Aber manchmal schlägt dies fehl, und die Datenbank wird als
verdächtig markiert, was diese Datei unbrauchbar macht, in Bezug auf die
Wiederherstellung. In diesem Fall wird auch die bestehende Datenbank zerstört. Die
neue Version von ApexSQL Log löst dies auf eine klare und einfache Art und Weise auch wenn MDF-Datei nicht angefügt werden kann, wenn sie nur teilweise vollständig
ist und so weiter. Wir durchkämmen die Datei bis zum letzten möglichen Bit nach
Daten ab.
Dies hängt nicht unbedingt von der Log-Technologie selbst ab, sondern vielmehr von den
Datenbanktätigkeiten, die nach der Löschung stattgefunden haben. Tabellen
abzuschneiden (Truncate-Befehl) ist ein schneller Vorgang, da die Daten nicht wirklich
gelöscht werden, was normalerweise eine Protokollierung aller gelöschten Daten in den
Transaktionsprotokolldateien mit sich bringen und das Ganze verlangsamen würde.
Stattdessen werden beim Truncate-Befehl die Teilbereiche der Datenfiles als frei
gekennzeichnet und können wiederverwendet werden. Wenn Sie eine Tabelle
abgeschnitten haben, ist das Beste was Sie tun können, dass Sie die gesamte DBAktivität stoppen. Damit minimieren Sie die Menge der wiederverwendeten Bereiche, was
wiederum die Chance auf eine Wiederherstellung vergrössert. Wir können nicht immer
wieder alles wiederherstellen können. Die Mehrheit der aktuellen Log-Betrachter- /
Wiederherstellungs-Tools kann in einer solchen Situation gar nichts wiederherstellen.
Wenn das Transaction Log keine Daten enthält- das ist der Fall bei einem Truncate – sind
diese Tools einfach nutzlos.
3. Was ist mit der Tabelle die ich gelöscht habe und vorher abgeschnitten
wurde?
Praktisch wie im vorhergehenden Fall, aber in zwei Phasen: ApexSQL Log stellt zuerst die
gelöschten Metadaten wieder her und erstellt ein DDL-Skript für die gelöschte Tabelle
und erst danach werden die Daten wiederhergestellt.
5. Das klingt super! Aber was ist mit der Wiederherstellung von
abgehängten MDF Dateien? Können diese Dateien wider an den SQL Server
mittels sp_attach_single_file_db angehängt werden?
6. Ist das alles, was die Wiederherstellung anbelangt?
Aktuell haben wir alle Log-Recovery-Optionen in ApexSQL Log 2005 mittels einzelnen
Recovery Assistenten vereinfacht (was das Wiederherstellen von gelöschten Daten
anbelangt). Benutzer können immer noch auf alte Art und Weise (wie REDO Skript
Generation) Daten wiederherstellen. Wir bieten aber gleichzeitig eine einzigartige
Schnittstelle für alle Wiederherstellungsaufgaben an. Obwohl wir Ihnen in der
Schnittstelle keine Wiederherstellungsoption anbieten, wissen wir, wie man die Daten
wiederherstellen kann. Also, wenn Sie Zweifel haben - fragen Sie uns. Wir hatten
noch nie einen Fall, wo wir die Daten nicht wiederherstellen konnten, solange sie
noch vorhanden waren.
4. Wie handhaben andere Wiederherstellungstools die Situation in der die
betroffenen Daten in einer Tabelle immer wieder konsequent gelöscht
wurden?
Die meisten Tools, die in diesem Szenario versuchen Daten wiederherzustellen, verlassen
sich auf Meta-Daten im Transaktionsprotokoll, um eine abgeschnittene Tabelle
(Truncate) zu rekonstruieren. Aber diese Meta-Daten sind oft nicht vorhanden (es kann
selber durch einen Checkpoint abgeschnitten worden sein, was eine SQL-ServerStandardeinstellung ist).
Es ist gibt sogar ein Tool das nur Wiederherstellen kann, wenn ein Backup vorhanden ist
und die Struktur der Tabelle sich nicht verändert hat, bevor Daten gelöscht wurden. Die
Herausforderung besteht darin, Daten ohne diese unrealistischen Vorgaben
wiederherzustellen, was oft einfach nicht den Szenarien im Alltag entspricht.
In diesem Fall, wo die anderen Instrumente versagen, gelingt dies ApexSQL Log durch
einen redundanten Ansatz und durch die Suche nach Metadaten in verschiedenen
Quellen. Wann immer nützliche Metadaten gefunden werden, wird die Tabelle erstellt
und danach beginnt die Wiederherstellung der gelöschten Daten.
ApexSQL LLC
50101 Governors Dr.,
Suite 200
Chapel Hill, NC 27517 USA
1-866-665-5500
1-919-968-8444
[email protected]
www.apexsql.com
Herunterladen