Sdílet prostřednictvím


Dokončení obnovení databáze (jednoduchý model obnovení)

platí pro:SQL Server

V úplném obnovení databáze je cílem obnovit celou databázi. Celá databáze je po dobu trvání obnovení offline. Než bude možné převést jakoukoli část databáze do režimu online, obnoví se všechna data do konzistentního bodu, ve kterém jsou všechny části databáze v daném okamžiku a neexistují žádné nepotvrzené transakce.

V rámci jednoduchého modelu obnovení nelze databázi obnovit k určitému bodu v čase v rámci konkrétní zálohy.

Důležité

Doporučujeme nepřiložit nebo obnovit databáze z neznámých nebo nedůvěryhodných zdrojů. Tyto databáze můžou obsahovat škodlivý kód, který může spouštět nezamýšlené Transact-SQL kód nebo způsobit chyby úpravou schématu nebo fyzické struktury databáze. Před použitím databáze z neznámého nebo nedůvěryhodného zdroje spusťte DBCC CHECKDB v databázi na neprodukčním serveru a také zkontrolujte kód, jako jsou uložené procedury nebo jiný uživatelem definovaný kód v databázi.

V tomto tématu:

Poznámka:

Informace o podpoře záloh ze starších verzí SQL Serveru naleznete v části Podpora kompatibility funkce RESTORE (Transact-SQL).

Přehled obnovení databáze v rámci jednoduchého modelu obnovení

Úplné obnovení databáze v rámci jednoduchého modelu obnovení zahrnuje jeden nebo dva příkazy RESTORE v závislosti na tom, jestli chcete obnovit rozdílovou zálohu databáze. Pokud používáte pouze úplnou zálohu databáze, stačí obnovit nejnovější zálohu, jak je znázorněno na následujícím obrázku.

Obnovení pouze úplné zálohy databáze

Pokud používáte také rozdílovou zálohu databáze, obnovte nejnovější úplnou zálohu databáze bez obnovení databáze a pak obnovte nejnovější rozdílovou zálohu databáze a obnovte databázi. Následující obrázek znázorňuje tento proces.

Obnovení úplných a rozdílových záloh databáze

Poznámka:

Pokud plánujete obnovit zálohu databáze do jiné instance serveru, přečtěte si téma Kopírování databází se zálohováním a obnovením.

Základní syntaxe Transact-SQL RESTORE

Základní syntaxe Transact-SQL pro obnovení úplné zálohy databáze je:

RESTORE DATABASE database_name FROM backup_device [ WITH NORECOVERY ]

Poznámka:

Pokud plánujete obnovit také rozdílovou zálohu databáze, použijte S NORECOVERY.

Základní syntaxe RESTORE pro obnovení zálohy databáze je:

OBNOVIT DATABÁZI database_name ZE backup_device S OBNOVENÍ

Příklad (Transact-SQL)

Následující příklad nejprve ukazuje, jak pomocí příkazu BACKUP vytvořit úplnou zálohu databáze a rozdílovou zálohu databáze AdventureWorks2025. Příklad pak tyto zálohy obnoví postupně. Databáze se obnoví do svého stavu v době, kdy se dokončilo rozdílové zálohování databáze.

Příklad ukazuje kritické možnosti v sekvenci obnovení pro kompletní scénář obnovení databáze. Sekvence obnovení se skládá z jedné nebo více operací obnovení, které procházejí data jednou nebo více fázemi obnovení. Syntaxe a podrobnosti, které nejsou pro tento účel relevantní, jsou vynechány. Při obnovování databáze doporučujeme explicitně zadat možnost OBNOVENÍ, aby byla jasná, i když je výchozí.

Poznámka:

Příklad začíná příkazem ALTER DATABASE , který nastaví model obnovení na 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  

Související úkoly

Obnovení úplné zálohy databáze

Obnovení rozdílové zálohy databáze

Obnovení zálohy pomocí objektů SMO (SQL Server Management Objects)

Viz také

OBNOVIT (Transact-SQL)
BACKUP (Transact-SQL)
sp_addumpdevice (Transact-SQL)
Úplné zálohy databáze (SQL Server)
Rozdílové zálohování (SQL Server)
přehled zálohování (SQL Server)
Přehled obnovení a obnovení (SQL Server)