Sdílet prostřednictvím


Obnovení souborů a skupin souborů (SQL Server)

platí pro:SQL Server

Toto téma popisuje, jak obnovit soubory a skupiny souborů v SQL Serveru pomocí aplikace SQL Server Management Studio nebo Transact-SQL.

v tomto tématu

Než začnete

Omezení a restrikce

  • Správce systému obnovující soubory a skupiny souborů musí být jedinou osobou, která právě databázi používá, aby se obnovila.

  • FUNKCE RESTORE není povolena v explicitní nebo implicitní transakci.

  • V rámci jednoduchého modelu obnovení musí soubor patřit do skupiny souborů jen pro čtení.

  • Před obnovením souborů 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).

  • Pokud chcete obnovit databázi, která je zašifrovaná, musíte mít přístup k certifikátu nebo asymetrického klíče, který se použil k šifrování databáze. Bez certifikátu nebo asymetrického klíče nelze databázi obnovit. V důsledku toho musí být certifikát, který se používá k šifrování šifrovacího klíče databáze, zachován, pokud je potřeba zálohování. Další informace najdete v tématu certifikáty SQL Serveru a asymetrické klíče.

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, předvolená oprávnění RESTORE mají členové pevných rolí serveru sysadmin a dbcreator a vlastník (dbo) databáze (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

Obnovení souborů a skupin souborů

  1. Po připojení k příslušné instanci databázového stroje SQL Serveru klikněte v Průzkumníku objektů na název serveru a rozbalte strom serveru.

  2. 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.

  3. Klepněte pravým tlačítkem myši na databázi, přejděte na příkaz Úkolya klepněte na tlačítko Obnovit.

  4. Klikněte na Soubory a skupiny souborů. Otevře se dialogové okno Obnovit soubory a skupiny souborů.

  5. Na stránce Obecné v seznamu Databáze zadejte databázi, která se má obnovit. Můžete zadat novou databázi nebo zvolit existující databázi z rozevíracího seznamu. Seznam obsahuje všechny databáze na serveru, s výjimkou systémových databází master a tempdb.

  6. Pokud chcete určit zdroj a umístění sad záloh, které se mají obnovit, klikněte na jednu z následujících možností:

    • Z databáze

      Do seznamu zadejte název databáze. Tento seznam obsahuje pouze databáze zálohované podle historie zálohování msdb.

    • ze zařízení

      Klikněte na tlačítko Procházet. V dialogovém okně Zadat zálohovací zařízení vyberte jeden z uvedených typů zařízení v seznamu Typ média zálohování. Chcete-li vybrat jedno nebo více zařízení pro seznam médií pro zálohování , klepně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é.

  7. V Vyberte sady záloh pro obnovení mřížky, vyberte zálohy, které chcete obnovit. Tato mřížka zobrazuje zálohy dostupné pro zadané umístění. Ve výchozím nastavení se navrhuje plán obnovení. Pokud chcete přepsat navrhovaný plán obnovení, můžete změnit výběry v mřížce. Všechny zálohy, které závisí na nevybrané zálohování, se zruší automaticky.

    Záhlaví sloupce Hodnoty
    obnovit Zaškrtnuté zaškrtávací políčka označují, že se mají obnovit zálohovací sady.
    název Název zálohovací sady.
    typ souboru Určuje typ dat v zálohování: Data, lognebo Filestream Data. Data obsažená v tabulkách jsou v souborech Data. Data transakčního protokolu jsou v protokolových souborech. Data binárních velkých objektů (BLOB), která jsou uložená v systému souborů, jsou ve souborech Filestream Data.
    typ Typ prováděných záloh: úplné, rozdílovénebo transakční protokol.
    serveru Název instance Database-Engine, která prováděla operaci zálohování.
    logický název souboru Logický název souboru.
    Databáze Název databáze zapojené do operace zálohování.
    Datum zahájení Datum a čas zahájení operace zálohování, které se zobrazí v místním nastavení klienta.
    datum dokončení Datum a čas dokončení operace zálohování, které se zobrazí v místním nastavení klienta.
    velikost Velikost zálohované sady v bajtech.
    uživatelské jméno Jméno uživatele, který provedl operaci zálohování.
  8. Chcete-li zobrazit nebo vybrat rozšířené možnosti, klepněte na tlačítko Možnosti v Vyberte podokno stránky.

  9. Na panelu Možnosti obnovení můžete zvolit některou z následujících možností, pokud je to vhodné pro vaši situaci.

    Obnovit jako skupinu souborů
    Označuje, že se obnovuje celá skupina souborů.

    přepsat existující databázi
    Určuje, že operace obnovení by měla přepsat všechny existující databáze a související soubory, i když již existuje jiná databáze nebo soubor se stejným názvem.

    Výběr této možnosti odpovídá použití možnosti NAHRADIT v příkazu Transact-SQL RESTORE.

    Výzva před obnovením každé zálohy
    Před obnovením každé sady záloh vás požádá o potvrzení.

    Tato možnost je užitečná zejména v případě, že je nutné vyměnit pásky pro různé sady médií, například když má server jedno páskové zařízení.

    Omezit přístup k obnovené databázi
    Zpřístupní obnovenou databázi pouze členům db_owner, dbcreatornebo správce systému.

    Výběr této možnosti je synonymem pro použití možnosti RESTRICTED_USER v příkazu Transact-SQL RESTORE.

  10. Volitelně můžete databázi obnovit do nového umístění zadáním nového cíle obnovení pro každý soubor v Obnovit soubory databáze jako mřížku.

    Záhlaví sloupce Hodnoty
    původní název souboru Úplná cesta ke zdrojovému záložnímu souboru.
    typ souboru Určuje typ dat v zálohování: Data, lognebo Filestream Data. Data obsažená v tabulkách jsou v souborech Data. Transakční protokolová data jsou v souborech protokolu. Binární velké objekty (BLOB) dat, která jsou uložená v systému souborů, jsou v souborech Filestream Data.
    obnovení jako Úplná cesta k databázovému souboru, který se má obnovit. Pokud chcete zadat nový soubor obnovení, klikněte na textové pole a upravte navrženou cestu a název souboru. Změna cesty nebo názvu souboru ve sloupci Restore As odpovídá použití možnosti MOVE v příkazu Transact-SQL RESTORE.
  11. Panel Stav obnovení určuje stav databáze po operaci obnovení.

Nechte databázi připravenou k použití vrácením nepotvrzených transakcí. Další transakční protokoly nelze obnovit. (OBNOVA S OBNOVENÍM)
Obnoví databázi. Toto je výchozí chování. Tuto možnost zvolte jenom v případě, že teď obnovujete všechny potřebné zálohy. Tato možnost je ekvivalentní zadání WITH RECOVERY v příkazu Transact-SQL RESTORE.

Nechejte databázi nefunkční a nevrácejte nepotvrzené transakce. Je možné obnovit další transakční protokoly. (OBNOVENÍ POMOCÍ NORECOVERY)
Ponechá databázi ve stavu obnovení. Pokud chcete databázi obnovit, budete muset provést další obnovení pomocí předchozí možnosti RESTORE WITH RECOVERY (viz výše). Tato možnost je ekvivalentní zadání WITH NORECOVERY v příkazu Transact-SQL RESTORE.

Pokud vyberete tuto možnost, možnost Zachovat nastavení replikace není dostupná.

Ponechte databázi v režimu jen pro čtení. Vraťte zpět nepotvrzené transakce, ale uložte operaci vrácení zpět do souboru, aby se efekty obnovení mohly vrátit zpět. (OBNOVENÍ S POHOTOVOSTNÍM REŽIMEM)
Ponechá databázi v pohotovostním stavu. Tato možnost je ekvivalentní zadání WITH STANDBY v příkazu Transact-SQL RESTORE.

Volba této možnosti vyžaduje, abyste zadali pohotovostní soubor.

soubor pro zrušení změn
Do textového pole Vrácení zpět zadejte název pohotovostního souboru. Tato možnost se vyžaduje, pokud opustíte databázi v režimu jen pro čtení (RESTORE WITH STANDBY).

Použití Transact-SQL

Obnovení souborů a skupin souborů

  1. Spuštěním příkazu RESTORE DATABASE obnovte zálohu souboru a skupiny souborů a zadejte:

    • Název databáze, která se má obnovit.

    • Zálohovací zařízení, ze kterého se obnoví úplná záloha databáze.

    • Klauzule FILE pro obnovení každého souboru.

    • Klauzule FILEGROUP pro každou skupinu souborů k obnovení.

    • Klauzule NORECOVERY. Pokud se soubory po vytvoření zálohy nezměnily, zadejte klauzuli RECOVERY.

  2. Pokud byly soubory změněny po vytvoření zálohy souborů, spusťte příkaz RESTORE LOG, který použije zálohu transakčního protokolu, a zadejte:

    • Název databáze, na kterou se použije transakční protokol.

    • Zálohovací zařízení, ze kterého se obnoví záloha transakčního protokolu.

    • Klauzule NORECOVERY, pokud máte další zálohu transakčního protokolu, která se má použít po aktuální; v opačném případě zadejte klauzuli RECOVERY.

      Zálohy transakčního protokolu, pokud jsou použity, musí pokrývat čas, kdy byly soubory a skupiny souborů zálohovány do konce protokolu (pokud nejsou obnoveny všechny soubory databáze).

Příklad (Transact-SQL)

Tento příklad obnoví soubory a skupiny souborů pro databázi MyDatabase. Chcete-li obnovit databázi do aktuálního času, použijí se dva transakční protokoly.

USE master;  
GO  
-- Restore the files and filegroups for MyDatabase.  
RESTORE DATABASE MyDatabase  
   FILE = 'MyDatabase_data_1',  
   FILEGROUP = 'new_customers',  
   FILE = 'MyDatabase_data_2',  
   FILEGROUP = 'first_qtr_sales'  
   FROM MyDatabase_1  
   WITH NORECOVERY;  
GO  
-- Apply the first transaction log backup.  
RESTORE LOG MyDatabase  
   FROM MyDatabase_log1  
   WITH NORECOVERY;  
GO  
-- Apply the last transaction log backup.  
RESTORE LOG MyDatabase  
   FROM MyDatabase_log2  
   WITH RECOVERY;  
GO  

Viz také

obnovení zálohy databáze pomocí SSMS
zálohování souborů a skupin souborů (SQL Server)
vytvoření úplného zálohování databáze (SQL Server)
zálohování transakčního protokolu (SQL Server)
Obnovení zálohy transakčního protokolu (SQL Server)
OBNOVIT (Transact-SQL)