Dela via


Exempel: Stegvis återställning av databas (fullständigt återställningsläge)

Gäller för:SQL Server

En sekvens för stegvis återställning och återhämtning återställer och återhämtar en databas i faser på filgruppsnivå, med början i den primära och alla skrivbara sekundära filgrupper.

I det här exemplet återställs databasen adb till en ny dator efter en katastrof. Databasen använder den fullständiga återställningsmodellen. Innan återställningen startar måste därför en säkerhetskopia av slutloggen göras av databasen. Före katastrofen är alla filgrupper online. Filgruppen B är skrivskyddad. Alla sekundära filgrupper måste återställas, men de återställs i prioritetsordning: A (högsta), Coch slutligen B. I det här exemplet finns det fyra loggbackuper, inklusive en tail-log-backup.

Säkerhetskopiering av Tail-Log

Innan databasen återställs måste databasadministratören säkerhetskopiera loggens svans. Eftersom databasen är skadad måste du använda alternativet NO_TRUNCATE för att skapa säkerhetskopian av slutloggen:

BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE  

Säkerhetskopian av slutloggarna är den sista säkerhetskopian som används i följande sekvenser för återställning.

Återställ sekvenser

Anmärkning

Syntaxen för en onlineåterställningssekvens är densamma som för en offlineåterställningssekvens.

  1. Partiell återställning av den primära och sekundära filgruppen A.

    RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1   
       WITH PARTIAL, NORECOVERY  
    RESTORE DATABASE adb FILEGROUP='A' FROM backup2   
       WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup3 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup4 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup5 WITH NORECOVERY  
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  
    
  2. Onlineåterställning av filgruppen C.

    Nu är den primära filgruppen och den sekundära filgruppen A online. Alla filer i filgrupper B och C väntar på återställning och filgrupperna är offline.

    Meddelanden från den senaste RESTORE LOG instruktionen i steg 1 anger att återställningen av transaktioner som involverar filgrupp C har skjutits upp eftersom den här filgruppen inte är tillgänglig. Vanliga åtgärder kan fortsätta, men databaslåsen hålls av dessa transaktioner, och loggtrunkering kan inte ske förrän återställningen har slutförts.

    I den andra återställningssekvensen återställer databasadministratören filgruppen C:

    RESTORE DATABASE adb FILEGROUP='C' FROM backup2a WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup3 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup4 WITH NORECOVERY  
    RESTORE LOG adb FROM log_backup5 WITH NORECOVERY  
    RESTORE LOG adb FROM tailLogBackup WITH RECOVERY  
    

    Nu är de primära och filgrupperna A och C online. Filer i filgruppen B förblir väntande för återställning, med filgruppen offline. Uppskjutna transaktioner har lösts, och loggavkortning sker.

  3. Onlineåterställning av filgruppen B.

I den tredje återställningssekvensen återställer databasadministratören filgruppen B. Säkerhetskopieringen av filgruppen B togs efter att filgruppen blev skrivskyddad. Därför behöver den inte rullas framåt under återställningen.

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

Alla filgrupper är nu online.

Ytterligare exempel

Se även

Säkerhetskopiering (Transact-SQL)
Online återställning (SQL Server)
Tillämpa säkerhetskopieringar av transaktionsloggar (SQL Server)
RESTORE (Transact-SQL)
Delvisa återställningar (SQL Server)