Slutför databasåterställningar (enkel återställningsmodell)

Gäller för:SQL Server

I en fullständig databasåterställning är målet att återställa hela databasen. Hela databasen är offline under återställningens varaktighet. Innan någon del av databasen kan komma online återställs alla data till en konsekvent punkt där alla delar av databasen är vid samma tidpunkt och det inte finns några icke-obligatoriska transaktioner.

Under den enkla återställningsmodellen kan databasen inte återställas till en viss tidpunkt inom en viss säkerhetskopia.

Viktigt!

Vi rekommenderar att du inte kopplar eller återställer databaser från okända eller ej betrodda källor. Dessa databaser kan innehålla skadlig kod som kan köra oavsiktlig Transact-SQL kod eller orsaka fel genom att ändra schemat eller den fysiska databasstrukturen. Innan du använder en databas från en okänd eller obetrodd källa kör du DBCC CHECKDB på databasen på en icke-produktionsserver och undersöker även koden, till exempel lagrade procedurer eller annan användardefinierad kod, i databasen.

I det här avsnittet:

Anmärkning

Information om stöd för säkerhetskopieringar från tidigare versioner av SQL Server finns i avsnittet "Kompatibilitetssupport" i RESTORE (Transact-SQL).

Översikt över databasåterställning under enkel återställningsmodell

En fullständig databasåterställning under den enkla återställningsmodellen omfattar en eller två RESTORE-instruktioner , beroende på om du vill återställa en differentiell databassäkerhetskopia. Om du bara använder en fullständig databassäkerhetskopia återställer du bara den senaste säkerhetskopian, som du ser i följande bild.

Återställa endast en fullständig databassäkerhetskopia

Om du också använder en differentiell databassäkerhetskopia återställer du den senaste fullständiga databassäkerhetskopian utan att återställa databasen och återställer sedan den senaste differentiella databassäkerhetskopian och återställer databasen. Följande bild visar den här processen.

Återställa fullständiga och differentiella databassäkerhetskopieringar

Anmärkning

Om du planerar att återställa en databassäkerhetskopia till en annan serverinstans kan du läsa Kopiera databaser med säkerhetskopiering och återställning.

Grundläggande Transact-SQL RESTORE-syntax

Den grundläggande Transact-SQLRESTORE-syntaxen för att återställa en fullständig databassäkerhetskopia är:

ÅTERSTÄLL DATABAS database_name FRÅN backup_device [ MED NORECOVERY ]

Anmärkning

Använd WITH NORECOVERY om du planerar att även återställa en differentiell databassäkerhetskopia.

Den grundläggande RESTORE-syntaxen för att återställa en databassäkerhetskopia är:

Återställ databas databas_namn från backup_device med återhämtning

Exempel (Transact-SQL)

I följande exempel visas först hur du använder BACKUP-instruktionen för att skapa en fullständig databassäkerhetskopia och en differentiell databassäkerhetskopia av AdventureWorks2025 databasen. Exemplet återställer sedan dessa säkerhetskopior i följd. Databasen återställs till sitt tillstånd när säkerhetskopieringen av differentiella databaser har slutförts.

Exemplet visar de kritiska alternativen i en återställningssekvens för det fullständiga databasåterställningsscenariot. En återställningssekvens består av en eller flera återställningsåtgärder som flyttar data genom en eller flera av återställningsfaserna. Syntax och information som inte är relevanta för detta ändamål utelämnas. När du återställer en databas rekommenderar vi att du uttryckligen anger återställningsalternativet för tydlighetens skull, även om det är standardinställningen.

Anmärkning

Exemplet börjar med en ALTER DATABASE-instruktion som anger återställningsmodellen till SIMPLE.

USE master;  
--Make sure the database is using the simple recovery model.  
ALTER DATABASE AdventureWorks2022 SET RECOVERY SIMPLE;  
GO  
-- Back up the full AdventureWorks2022 database.  
BACKUP DATABASE AdventureWorks2022   
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'   
  WITH FORMAT;  
GO  
--Create a differential database backup.  
BACKUP DATABASE AdventureWorks2022   
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'  
   WITH DIFFERENTIAL;  
GO  
--Restore the full database backup (from backup set 1).  
RESTORE DATABASE AdventureWorks2022   
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'   
   WITH FILE=1, NORECOVERY;  
--Restore the differential backup (from backup set 2).  
RESTORE DATABASE AdventureWorks2022   
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'   
   WITH FILE=2, RECOVERY;  
GO  

Relaterade uppgifter

Så här återställer du en fullständig databassäkerhetskopia

Återställa en differentiell databassäkerhetskopia

Så här återställer du en säkerhetskopia med hjälp av SQL Server Management Objects (SMO)

Se även

RESTORE (Transact-SQL)
Säkerhetskopiering (Transact-SQL)
sp_addumpdevice (Transact-SQL)
Fullständiga databassäkerhetskopior (SQL Server)
differentiella säkerhetskopieringar (SQL Server)
Säkerhetskopieringsöversikt (SQL Server)
Översikt över återskapande och återställning (SQL Server)