Dela via


Filåterställningar (fullständig återställningsmodell)

gäller för:SQL Server

Det här avsnittet är endast relevant för databaser som innehåller flera filer eller filgrupper under återställningsmodellen för fullständig eller massinläsning.

I en filåterställning är målet att återställa en eller flera skadade filer utan att återställa hela databasen. Ett scenario för filåterställning består av en enda återställningssekvens som kopierar, rullar framåt och återställer lämpliga data

Om filgruppen som återställs är läs-/skrivbar måste en obruten kedja av loggsäkerhetskopior tillämpas efter att de senaste data- eller differentiella säkerhetskopiorna har återställts. Då vidarebefordras filgruppen till loggposterna i de aktuella aktiva loggposterna i loggfilen. Återställningspunkten är vanligtvis nära slutet av loggen, men inte nödvändigtvis.

Om filgruppen som återställs är skrivskyddad, är det vanligtvis inte nödvändigt att använda loggsäkerhetskopior och de utlämnas därför. Om säkerhetskopieringen togs efter att filen blev skrivskyddad är det den sista säkerhetskopieringen som ska återställas. Framåtrullningen stannar vid målpunkten.

Scenarierna för filåterställning är följande:

  • Återställning av offlinefil

    I en offlinefilåterställningär databasen offline medan skadade filer eller filgrupper återställs. I slutet av återställningssekvensen är databasen online.

    Alla utgåvor av SQL Server stöder återställning av offlinefiler.

  • Onlinefilåterställning

    I en onlinefilåterställning, om databasen är online vid återställningstillfället, förblir den online under filåterställningen. Varje filgrupp där en fil återställs är dock offline under återställningen. När alla filer i en offlinefilgrupp har återställts tas filgruppen automatiskt online.

    Information om stöd för återställning av online-sidor och filer finns i Utgåvor och funktioner som stöds i SQL Server 2022. Mer information om onlineåterställningar finns i Online Restore (SQL Server).

    Tips

    Om du vill att databasen ska vara offline för en filåterställning tar du databasen offline innan du startar återställningssekvensen genom att köra följande ALTER DATABASE-instruktion: ALTER DATABASE database_name SET OFFLINE.

Återställa skadade filer från filsäkerhetskopior

  1. Innan du återställer en eller flera skadade filer, försök att skapa en slutloggsäkerhetskopia.

    Om loggen har skadats går det inte att skapa en säkerhetskopia av slutloggen och du måste återställa hela databasen.

    Information om hur du säkerhetskopierar en transaktionslogg finns i Säkerhetskopior av transaktionsloggar (SQL Server).

    Viktig

    För en offline-filåterställning måste du alltid göra en säkerhetskopia av slutloggen innan filåterställningen. Du måste alltid se till att ta en loggsäkerhetskopia efter att du har återställt filer online. Den här loggsäkerhetskopian är nödvändig för att filen ska kunna återställas till ett tillstånd som överensstämmer med resten av databasen.

  2. Återställ varje skadad fil från den senaste filsäkerhetskopian av filen.

  3. Återställ den senaste differentiella säkerhetskopieringen, om någon, för varje återställd fil.

  4. Återställ säkerhetskopieringar av transaktionsloggar i följd, från och med den säkerhetskopia som täcker den äldsta av de återställde filerna och slutar med säkerhetskopieringen i slutloggen som skapades i steg 1.

    Du måste återställa de säkerhetskopior av transaktionsloggen som skapades efter filsäkerhetskopiorna för att databasen ska få ett konsekvent tillstånd. Säkerhetskopieringar av transaktionsloggar kan snabbt överföras eftersom endast de ändringar som gäller för de återställda filerna tillämpas. Det kan vara bättre att återställa enskilda filer än att återställa hela databasen eftersom oskadade filer inte kopieras och sedan rullas vidare. Hela kedjan med loggsäkerhetskopior måste dock fortfarande läsas.

  5. Återställ databasen.

Obs.

Filsäkerhetskopior kan användas för att återställa databasen till en tidigare tidpunkt. För att göra detta måste du återställa en fullständig uppsättning säkerhetskopior av filer och sedan återställa säkerhetskopior av transaktionsloggar i följd för att nå en målpunkt som är efter slutet av den senaste återställda filsäkerhetskopian. För mer information om återställning vid en specifik tidpunkt, se Återställa en SQL Server-databas till en tidpunkt (fullständig återställningsmodell).

Transact-SQL återställningssekvens för en offlinefilåterställning (fullständig återställningsmodell)

Ett scenario för filåterställning består av en enda återställningssekvens som kopierar, rullar framåt och återställer lämpliga data.

Det här avsnittet visar de viktigaste RESTORE- alternativ för en filåterställningssekvens. Syntax och information som inte är relevanta för detta ändamål utelämnas.

Följande exempelåterställningssekvens visar en offlineåterställning av två sekundära filer, A och B, med HJÄLP av MED NORECOVERY. Därefter tillämpas två loggsäkerhetskopior med NORECOVERY, följt av säkerhetskopian av tail-log, och detta återställs med hjälp av WITH RECOVERY.

Anteckning

Följande exempelåterställningssekvens börjar med att ta filen offline och skapar sedan en säkerhetskopia av tail-log.

--Take the file offline.  
ALTER DATABASE database_name MODIFY FILE SET OFFLINE;  
-- Back up the currently active transaction log.  
BACKUP LOG database_name  
   TO <tail_log_backup>  
   WITH NORECOVERY;  
GO   
-- Restore the files.  
RESTORE DATABASE database_name FILE=name   
   FROM <file_backup_of_file_A>   
   WITH NORECOVERY;  
RESTORE DATABASE database_name FILE=<name> ......  
   FROM <file_backup_of_file_B>   
   WITH NORECOVERY;  
-- Restore the log backups.  
RESTORE LOG database_name FROM <log_backup>   
   WITH NORECOVERY;  
RESTORE LOG database_name FROM <log_backup>   
   WITH NORECOVERY;  
RESTORE LOG database_name FROM <tail_log_backup>   
   WITH RECOVERY;  

Exempel

Relaterade uppgifter

Återställ filer och filgrupper

Se även

Säkerhetskopiering och återställning: Samverkan och samexistens (SQL Server)
differentiella säkerhetskopieringar (SQL Server)
fullständiga filsäkerhetskopior (SQL Server)
Säkerhetskopiering översikt (SQL Server)
Översikt över återställning och återhämtning (SQL Server)
RESTORE (Transact-SQL)
Fullständig databasåterställning (enkel återställningsmodell)
Delvisa återställningar (SQL Server)