Freigeben über


Beispiel: Stückwiederherstellung der Datenbank (vollständiges Wiederherstellungsmodell)

Eine schrittweise Wiederherstellungssequenz stellt eine Datenbank in Phasen auf Dateigruppenebene wieder her, beginnend mit der primären und allen sekundären Dateigruppen mit Lese-/Schreibrechten.

In diesem Beispiel wird die Datenbank adb nach einem Notfall auf einem neuen Computer wiederhergestellt. Die Datenbank verwendet das vollständige Wiederherstellungsmodell; Daher muss vor dem Start der Wiederherstellung eine Tail-Log-Sicherung der Datenbank erstellt werden. Vor dem Notfall sind alle Dateigruppen online. Die Dateigruppe B ist schreibgeschützt. Alle sekundären Dateigruppen müssen wiederhergestellt werden, aber sie werden in Der Reihenfolge der Wichtigkeit wiederhergestellt: A (höchste), Cund schließlich B. In diesem Beispiel gibt es vier Protokollsicherungen, einschließlich der Tail-Log-Sicherung.

Tail-Log Sicherung

Vor dem Wiederherstellen der Datenbank muss der Datenbankadministrator den Tail des Protokolls sichern. Da die Datenbank beschädigt ist, erfordert das Erstellen der Sicherung des Tail-Logs die Option NO_TRUNCATE.

BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE  

Die Tail-Log-Sicherung ist die letzte Sicherung, die in den nachfolgenden Wiederherstellungssequenzen angewendet wird.

Sequenzen wiederherstellen

Hinweis

Die Syntax für eine Onlinewiederherstellungssequenz ist identisch mit einer Offlinewiederherstellungssequenz.

  1. Teilweise Wiederherstellung der primären und sekundären Dateigruppe A.

    RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1   
       WITH PARTIAL, NORECOVERY  
    RESTORE DATABASE adb FILEGROUP='A' FROM backup2   
       WITH NORECOVERY  
    RESTORE LOG adb FROM backup3 WITH NORECOVERY  
    RESTORE LOG adb FROM backup4 WITH NORECOVERY  
    RESTORE LOG adb FROM backup5 WITH NORECOVERY  
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  
    
  2. Onlinewiederherstellung der Dateigruppe C.

    Zu diesem Zeitpunkt sind die primäre Dateigruppe und die sekundäre Dateigruppe A online. Alle Dateien in Dateigruppen B und C sind ausstehend, und die Dateigruppen sind offline.

    Nachrichten aus der letzten RESTORE LOG Anweisung in Schritt 1 deuten darauf hin, dass das Rollback von Transaktionen, die die Dateigruppe C betreffen, zurückgestellt wurde, da diese Dateigruppe nicht verfügbar ist. Reguläre Vorgänge können fortgesetzt werden, aber Sperren werden von diesen Transaktionen gehalten, und der Protokollabbruch tritt erst auf, wenn der Rollback abgeschlossen werden kann.

    In der zweiten Wiederherstellungssequenz stellt der Datenbankadministrator die Dateigruppe Cwieder her:

    RESTORE DATABASE adb FILEGROUP='C' FROM backup2a WITH NORECOVERY  
    RESTORE LOG adb FROM backup3 WITH NORECOVERY  
    RESTORE LOG adb FROM backup4 WITH NORECOVERY  
    RESTORE LOG adb FROM backup5 WITH NORECOVERY  
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  
    

    An diesem Punkt sind die primären Dateigruppen A und C online. Dateien in der Dateigruppe B bleiben im Zustand 'Wiederherstellung ausstehend', während die Dateigruppe offline ist. Verzögerte Transaktionen wurden aufgelöst, und der Protokollabzug tritt auf.

  3. Onlinewiederherstellung der Dateigruppe B.

    In der dritten Wiederherstellungssequenz stellt der Datenbankadministrator die Dateigruppe Bwieder her. Die Sicherung der Dateigruppe wurde übernommen, nachdem die Dateigruppe B schreibgeschützt wurde. Daher muss sie während der Wiederherstellung nicht vorwärts verschoben werden.

    RESTORE DATABASE adb FILEGROUP='B' FROM backup2b WITH RECOVERY  
    

    Alle Dateigruppen sind jetzt online.

Weitere Beispiele

Siehe auch

BACKUP (Transact-SQL)
Onlinewiederherstellung (SQL Server)
Anwenden von Transaktionsprotokollsicherungen (SQL Server)
RESTORE (Transact-SQL)
Stückwerkswiederherstellungen (SQL Server)