Obnovení souborů do nového umístění (SQL Server)
platí pro:SQL Server
Toto téma popisuje, jak obnovit soubory do nového umístění sql Serveru pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL.
V tomto tématu
Než začnete:
Obnovení souborů do nového umístění pomocí:
Než začnete
Omezení a restrikce
Správce systému obnovující soubory musí být jedinou osobou, která právě používá databázi, která se má obnovit.
FUNKCE RESTORE není povolena v explicitní nebo implicitní transakci.
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, oprávnění RESTORE jsou výchozí pro členy správce systému a dbcreator pevné role serveru a vlastník (dbo) databáze (pro možnost 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ů do nového umístění
V Průzkumníku objektůse připojte k instanci systému SQL Server Database Engine, rozbalte tuto instanci a poté rozbalte Databáze.
Klikněte pravým tlačítkem myši na požadovanou databázi, přejděte na příkaz Úkoly, přejděte na příkaz Obnovita potom klikněte na Soubory a skupiny souborů .
Na stránce Obecné v seznamu Do databáze zadejte databázi k obnovení. 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.
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í ze seznamu médií zálohování , 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 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 nevybranou zálohu, jsou automaticky zrušeny.
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 záznamů transakcí jsou v souborech protokolu. Binární velké objekty (BLOB), která jsou uložena v systému souborů, jsou ve formátu souborů 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. velikosti Velikost zálohované sady v bajtech. uživatelské jméno Jméno uživatele, který provedl operaci zálohování. V podokně Vybrat stránku klikněte na kartu Možnosti.
V mřížce Obnovit databázové soubory jako zadejte nové umístění pro soubory, které chcete přesunout.
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. Data z transakčního protokolu jsou v souborech protokolu Log. Binární velké objekty (data BLOB), která jsou uložená v systému souborů, jsou v Filestream Data souborech. 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. Vyberte OK.
Použití Transact-SQL
Obnovení souborů do nového umístění
Volitelně spusťte příkaz RESTORE FILELISTONLY a určete počet a názvy souborů v úplné zálohování databáze.
Spuštěním příkazu RESTORE DATABASE obnovte úplnou zálohu databáze 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 MOVE pro přenesení každého souboru do nového umístění.
Klauzule NORECOVERY.
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ýt čas, kdy byly soubory a skupiny souborů zálohovány.
Příklad (Transact-SQL)
Tento příklad obnoví dva soubory pro databázi MyNwind
, která byla původně umístěna na jednotce C, do nových umístění na jednotce D. Pro obnovení databáze k aktuálnímu času se použijí také dva transakční protokoly. Příkaz RESTORE FILELISTONLY
slouží k určení počtu a logických a fyzických názvů souborů v databázi, které se obnovují.
USE master;
GO
-- First determine the number and names of the files in the backup.
RESTORE FILELISTONLY
FROM MyNwind_1;
-- Restore the files for MyNwind.
RESTORE DATABASE MyNwind
FROM MyNwind_1
WITH NORECOVERY,
MOVE 'MyNwind_data_1' TO 'D:\MyData\MyNwind_data_1.mdf',
MOVE 'MyNwind_data_2' TO 'D:\MyData\MyNwind_data_2.ndf';
GO
-- Apply the first transaction log backup.
RESTORE LOG MyNwind
FROM MyNwind_log1
WITH NORECOVERY;
GO
-- Apply the last transaction log backup.
RESTORE LOG MyNwind
FROM MyNwind_log2
WITH RECOVERY;
GO
Viz také
obnovení zálohy databáze pomocí SSMS
RESTORE (Transact-SQL)
kopírování databází se zálohováním a obnovením
obnovení souborů a skupin souborů (SQL Server)