Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Toto téma popisuje, jak obnovit rozdílové zálohování databáze v SQL Serveru pomocí aplikace SQL Server Management Studio nebo Transact-SQL.
v tomto tématu
Než začnete:
Obnovení rozdílové zálohy databáze pomocí:
Než začnete
Omezení a restrikce
FUNKCE RESTORE není povolena v explicitní nebo implicitní transakci.
Zálohy vytvořené novější verzí SQL Serveru nelze obnovit v dřívějších verzích SQL Serveru.
Na SQL Serveru můžete obnovit uživatelskou databázi ze zálohy databáze vytvořené pomocí SQL Serveru 2005 (9.x) nebo novější verze.
Požadavky
- Před obnovením databáze v rámci úplného nebo hromadně protokolovaného modelu obnovení je nutné zálohovat aktivní transakční protokol (označovaný jako konec protokolu). Další informace naleznete v tématu Zálohování transakčního protokolu (SQL Server).
Bezpečnost
Dovolení
Pokud obnovená databáze neexistuje, musí mít uživatel oprávnění CREATE DATABASE, aby mohl provést obnovení. Pokud databáze existuje, výchozí oprávnění RESTORE mají členové pevných rolí serveru správce systému a dbcreator, stejně jako vlastník databáze (dbo) (u možnosti FROM DATABASE_SNAPSHOT databáze vždy existuje).
Oprávnění RESTORE jsou udělena rolím, ve kterých jsou informace o členství vždy snadno dostupné pro server. Vzhledem k tomu, že pevné členství v rolích databáze je možné zkontrolovat pouze v případě, že je databáze přístupná a nepoškozená, což není vždy případ spuštění funkce RESTORE, nemají členové db_owner pevné databázové role oprávnění RESTORE.
Použití aplikace SQL Server Management Studio
Obnovit rozdílovou zálohu databáze
Po připojení k příslušné instanci databázového stroje Microsoft SQL Server klikněte v Průzkumníku objektů na název serveru a rozbalte strom serveru.
Rozbalte databáze. V závislosti na databázi vyberte uživatelskou databázi nebo rozbalte systémové databázea pak vyberte systémovou databázi.
Klepněte pravým tlačítkem myši na databázi, přejděte na příkaz Úkoly, přejděte na příkaz Obnovita klepněte na tlačítko Databáze.
Na stránce Obecné použijte oddíl Zdroj a určete zdroj a umístění sad záloh, které chcete obnovit. Vyberte jednu z následujících možností:
Databáze
V rozevíracím seznamu vyberte databázi, která se má obnovit. Seznam obsahuje pouze databáze zálohované podle historie zálohování msdb.
Poznámka
Pokud je záloha převzata z jiného serveru, cílový server nebude mít informace o historii zálohování pro zadanou databázi. V tomto případě vyberte Zařízení a ručně zadejte soubor nebo zařízení, které chcete obnovit.
zařízení
Kliknutím na tlačítko Procházet (...) otevřete dialogové okno Vybrat zálohovací zařízení. V poli Typ záložního média vyberte jeden z uvedených typů zařízení. Chcete-li vybrat jedno nebo více zařízení pro krabici zálohovacích médií , klikněte na Přidat.
Po přidání zařízení, která chcete přidat do seznamu médií Backup, kliknutím na tlačítko OK se vraťte na stránku Obecné.
V seznamu Zdroj: Zařízení: Databáze vyberte název databáze, kterou chcete obnovit.
Poznámka Tento seznam je k dispozici pouze v případě, že je vybrána Zařízení. Budou k dispozici pouze databáze, které mají zálohy na vybraném zařízení.
V části Cílová se pole Databáze automaticky vyplní názvem databáze, která se má obnovit. Pokud chcete změnit název databáze, zadejte nový název do pole Databáze.
Poznámka
Pokud chcete obnovení zastavit v určitém časovém okamžiku, klikněte na časovou osu a přejděte do dialogového okna časová osa zálohování. Nápovědu k zastavení obnovení databáze v určitém bodu v čase najdete v tématu Obnovení databáze SQL Serveru k určitému bodu v čase (úplný model obnovení).
V Backup nastavíte obnovení mřížky, vyberte zálohy prostřednictvím rozdílové zálohy, kterou chcete obnovit.
Informace o sloupcích v tabulce sad záloh pro obnovení naleznete v části Obnovit databázi (obecná stránka).
Na stránce Možnosti na panelu Možnosti obnovení můžete vybrat některou z následujících možností, pokud je to vhodné pro vaši situaci:
přepsat existující databázi (NAHRADIT)
zachovat nastavení replikace (WITH KEEP_REPLICATION)
Výzva před obnovením každé zálohy
Omezit přístup k obnovené databázi (WITH RESTRICTED_USER)
Další informace o těchto možnostech naleznete v tématu Obnovit databázi (stránka Možnosti).
Vyberte možnost pro pole stavu obnovení . Toto pole určuje stav databáze po operaci obnovení.
RESTORE WITH RECOVERY je výchozí chování, které připraví databázi k použití tím, že vrátí zpět nepotvrzené transakce. Další transakční protokoly nelze obnovit. Tuto možnost vyberte, pokud teď obnovujete všechny potřebné zálohy.
RESTORE WITH NORECOVERY, která ponechá databázi mimo provoz a nevrátí zpět nepotvrzené transakce. Je možné obnovit další transakční protokoly. Databázi nelze použít, dokud ji neobnovíte.
RESTORE WITH STANDBY, který ponechá databázi v režimu pouze pro čtení. Vrátí zpět nepotvrzené transakce a zároveň uloží akce vracení zpět do pohotovostního souboru, aby bylo možné vrátit účinky obnovy.
Popisy možností najdete v tématu Obnovit databázi (stránka Možnosti).
Operace obnovení selžou, pokud jsou k databázi aktivní připojení. Zkontrolujte Možnost Zavřít existující připojení a ujistěte se, že jsou všechna aktivní připojení mezi aplikací Management Studio a databází uzavřená.
Pokud si přejete být vyzváni před každým obnovením, vyberte Před obnovením každé zálohy. To obvykle není nutné, pokud databáze není velká a chcete monitorovat stav operace obnovení.
Volitelně můžete k obnovení databáze do nového umístění použít stránku Soubory. Nápovědu k přesunu databáze najdete v tématu Obnovení databáze do nového umístění (SQL Server).
Vyberte OK.
Použití Transact-SQL
Obnovení rozdílové zálohy databáze
Spusťte příkaz RESTORE DATABASE, který určuje klauzuli NORECOVERY, aby se obnovila úplná záloha databáze, která přichází před rozdílovou zálohou databáze. Další informace naleznete v tématu Postupy: Obnovení úplného zálohování.
Spusťte příkaz RESTORE DATABASE pro obnovení rozdílové zálohy databáze a zadejte:
Název databáze, na kterou se použije rozdílové zálohování databáze.
Zálohovací zařízení, ze kterého se obnoví rozdílová záloha databáze.
Použijte klauzuli NORECOVERY, pokud potřebujete po obnovení rozdílové zálohy databáze aplikovat zálohy transakčních protokolů. V opačném případě zadejte klauzuli RECOVERY.
S úplným nebo hromadně protokolovaným modelem obnovení obnovení obnoví obnovení rozdílové zálohy databáze do bodu, kdy bylo dokončeno rozdílové zálohování databáze. Chcete-li provést obnovení k bodu selhání, je nutné použít všechny zálohy transakčních protokolů vytvořené po vytvoření poslední rozdílové zálohy databáze. Další informace najdete v tématu Použití záloh transakčních protokolů (SQL Server).
Příklady (Transact-SQL)
A. Obnovení rozdílové zálohy databáze
Tento příklad obnoví zálohu databáze a rozdílovou zálohu databáze MyAdvWorks
.
-- Assume the database is lost, and restore full database,
-- specifying the original full database backup and NORECOVERY,
-- which allows subsequent restore operations to proceed.
RESTORE DATABASE MyAdvWorks
FROM MyAdvWorks_1
WITH NORECOVERY;
GO
-- Now restore the differential database backup, the second backup on
-- the MyAdvWorks_1 backup device.
RESTORE DATABASE MyAdvWorks
FROM MyAdvWorks_1
WITH FILE = 2,
RECOVERY;
GO
B. Obnovení databáze, rozdílové databáze a zálohy transakčních protokolů
Tento příklad obnoví zálohu databáze, rozdílové databáze a transakčního protokolu databáze MyAdvWorks
.
-- Assume the database is lost at this point. Now restore the full
-- database. Specify the original full database backup and NORECOVERY.
-- NORECOVERY allows subsequent restore operations to proceed.
RESTORE DATABASE MyAdvWorks
FROM MyAdvWorks_1
WITH NORECOVERY;
GO
-- Now restore the differential database backup, the second backup on
-- the MyAdvWorks_1 backup device.
RESTORE DATABASE MyAdvWorks
FROM MyAdvWorks_1
WITH FILE = 2,
NORECOVERY;
GO
-- Now restore each transaction log backup created after
-- the differential database backup.
RESTORE LOG MyAdvWorks
FROM MyAdvWorks_log1
WITH NORECOVERY;
GO
RESTORE LOG MyAdvWorks
FROM MyAdvWorks_log2
WITH RECOVERY;
GO
Související úkoly
Viz také
rozdílové zálohování (SQL Server)
OBNOVIT (Transact-SQL)