Announcement

Collapse
No announcement yet.

löschen rückgängig

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • löschen rückgängig

    hallo,

    Gibt es in der MSSQL7-Datenbank eine Möglichkeit versehentlich geleerte
    Tabellen (delete) wiederzugewinnen (Protokolldatei?)?

    Weiss jemand Rat, ich stecke da in der Klemme?

    Friedel

  • #2
    Hallo,

    >..versehentlich geleerte Tabellen (delete) wiederzugewinnen (Protokolldatei?)?

    ja, wenn die Datenbank "richtig" konfiguriert wurde und wenn reguläre Backup-Dateien vorhanden sind. Das folgende Beispiel demonstriert, wie der Datenbankzustand bis zur einem exakt definierten Zeitpunkt wiederhergestellt werden kann.

    Zuerst wird das aktuelle LOG gesichert und danach die Datenbank über das vollständige Backup, die eventuell vorliegenden inkrementellen Backups sowie der LOG-Backups in der richtigen Reihenfolge wiederhergestellt, ohne den einzelnen Vorgang jeweils abzuschließen (WITH <b>NO</b>RECOVERY). Am Ende wird das im ersten Schritt angelegte Backup der Protokolldatei (LOG) wieder eingespielt - allerdings nur bis zu einem bestimmten Punkt. Beim letzten RESTORE (WITH RECOVERY) ist das <b>STOPAT</b>-Kriterium entscheidend:
    <pre>
    USE master
    GO
    BACKUP LOG BackupTest TO DISK = 'f:\MSSQL_Backup\BackupTest_LogError.bak' WITH INIT
    GO
    RESTORE DATABASE BackupTest FROM DISK = 'f:\MSSQL_Backup\BackupTest.bak' WITH NORECOVERY
    GO
    RESTORE LOG BackupTest FROM DISK = 'f:\MSSQL_Backup\BackupTest_Log1.bak' WITH NORECOVERY
    GO
    RESTORE LOG BackupTest FROM DISK = 'f:\MSSQL_Backup\BackupTest_Log2.bak' WITH NORECOVERY
    GO
    DECLARE @ErrorDate DATETIME
    SELECT @ErrorDate = '19.10.2001 10:44:00'
    RESTORE LOG BackupTest FROM DISK = 'f:\MSSQL_Backup\BackupTest_LogError.bak' WITH RECOVERY, STOPAT = @ErrorDate
    GO
    </pre&gt

    Comment

    Working...
    X