Die Wiederherstellung gelöschter Objekte aus sql server
Kennt jemand tools, die helfen können bei der Wiederherstellung gelöschte Tabellen und gespeicherte Prozeduren ?
Es wurde kein backup genommen und diese DB wurde versehentlich synchronisiert sich mit einem anderen DB und die neu erstellten Tabellen in dieser DB wurden gelöscht.
Dank
- en.wikipedia.org/wiki/Prayer
- Es ist wahrscheinlich nicht so einfach. Wenn Sie etwas löschen, Sie geben in der Regel die Ressourcen, die Sie zurück gehalten, um das Betriebssystem auch Speicherplatz (was in diesem Fall bedeutet, dass es zurück auf das Dateisystem durch das OS). Ich bin kein kernel-Programmierer, aber ich bezweifle, dass die meisten Kernel, die es erlauben, eine sichere "undelete" - Funktion, da gibt es keine Garantie, dass die Ressource wurde nicht verwendet, schon seit Ihr löschen. Was ich damit sagen will ist, dass selbst wenn es funktioniert hätte, würde ich sorgen um die Integrität der Daten. Andere mit Erfahrungen in diesem Bereich, sollte sich frei fühlen, mich zu erziehen über die Angelegenheit.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Googelte ich "sql-server wiederherstellen, gelöschte Tabelle" und kam mit einem hilfsbereiten forum beantworten.
http://www.eggheadcafe.com/community/aspnet/13/11519/are-you-sure-you-dont-ha.aspx
", Wenn eine Datenbank in SQL Server erstellt, es ist Voll Zurück (Voreinstellung). Also, deine Tabelle sollte vorhanden sein, durch die Wiederherstellung der Transaktion backup. Geh mal in die "Datenbank wiederherstellen" - Optionen mit der rechten Maustaste auf den Namen der Datenbank in Enterprise Manager, und wählen Sie Alle Aufgaben."
Ich tun, Frage, ob das wäre wieder die Tabelle oder nur die Daten, obwohl.
Gibt es einige relativ low-cost-software, die durch RedGate namens "SQL Log Rescue" soll dabei helfen. Überprüfen Sie heraus diese SQL Server-Central-Artikel:
http://www.sqlservercentral.com/articles/Product+Bewertungen/sqlrescuereview/2086/
EDIT: Der RedGate software erfordert eine vollständige Sicherung, so dass nicht helfen. Ich habe gerade mitbekommen, dass.
Aber vielleicht ist die transaction log hilft Ihnen bei der Wiederherstellung von Tabellen-Strukturen, auch wenn es Sie nicht tatsächlich wiederherstellen der Tabelle selbst.
Wenn die Datenbank im vollständigen Wiederherstellungsmodus und es gibt Transaktionsprotokoll-backups oder das Transaktionsprotokoll war nie abgeschnitten, können Sie versuchen, eine Drittanbieter-log-reader wie ApexSQL Log oder SQL Log Rescue (kostenlos, aber sql server 2000).
Andere option für das Lesen Transaktionsprotokolls ist nicht so gut dokumentiert Funktion DBCC LOG.
Wenn die ganze Kette von Transaktionen bestehen, das bedeutet, dass die vorherigen CREATE oder ALTER table-Anweisung ausgeführt wurde, für diese Tabelle ist immer noch in das Transaktionsprotokoll irgendwo. Leider ist es nicht eine einfache Aufgabe zu finden, diese info, wenn das Transaktionsprotokoll sehr groß, vor allem w/o third-party-tools.
Können Sie erholen Sie die gelöschten Objekts von SQL Server-Protokoll als gut, Wenn Sie nicht über backup.
Referenz : http://raresql.com/2012/12/04/sql-server-recover-the-dropped-objects-view-stored-procedure-function-trigger/
In die recovery-Modell für die db ist?
Kurze Antwort:
Ohne ein backup, das Sie Ihre Daten verloren. Das ist der ganze Sinn einer Sicherung.
Lange Antwort:
Wenn recovery-Modell ist VOLL, und Sie nahm nie ein voll-backup, es ist tatsächlich fährt, wie es war in einfachen Wiederherstellung Modell. Das bedeutet, dass Sie kippe nehmen Sie eine Sicherung des Transaktionsprotokolls, und noch schlimmer: Ihr Transaktionsprotokoll wird abgeschnitten, an jedem checkpoint. Das bedeutet, dass selbst wenn Sie Ihre gelöschten Tabelle wurde in der Transaktion Protokoll, es ist jetzt fast sicher überschrieben, die von neueren Transaktionen und für immer verloren. Kein tool kann dir da helfen.
Wenn Sie wissen, die Interna von sql-db-Strukturen, Sie könnte tun Forensik mit DBCC PAGE und hoffe, dass Sie diese Blöcke sind noch nicht überschrieben andere Objekte Daten, aber das erfordert echtes Fachwissen - Sie könnten mieten Sie ein. Sie könnte auch prüfen, ob Transaktionsprotokoll-Datensätze Ihrer Tabelle bereits überschrieben (wahrscheinlich) mit fn_dblog(). Es ist server-side-Spur, die Sie verwenden können, um zu identifizieren, die genaue Zeit, die Tabelle gelöscht wurde.
Bottom line: eine automatische Sicherung ist unerlässlich. Nur vollständiges recovery-Modell ermöglicht eine point-in-time-Wiederherstellung, die Sie verwenden können, erholen sich die Tabelle auf einen Punkt kurz vor dem drop-Befehl.
Dieser arbeitete für mich: