Sdílet prostřednictvím


Obnovení databází SQL Serveru na virtuálních počítačích Azure

Tento článek popisuje, jak obnovit databázi SQL Serveru spuštěnou na virtuálním počítači Azure, který služba Azure Backup zálohovala do trezoru služby Azure Backup Recovery Services.

Tento článek popisuje, jak obnovit databáze SQL Serveru. Další informace najdete v tématu Zálohování databází SQL Serveru na virtuálních počítačích Azure.

Poznámka:

Další informace o podporovaných konfiguracích a scénářích najdete v matici podpory zálohování SQL.

Obnovit do určitého času nebo bodu obnovení

Azure Backup může obnovit databáze SQL Serveru spuštěné na virtuálních počítačích Azure následujícím způsobem:

  • Obnovení na konkrétní datum nebo čas (do sekundy) pomocí záloh transakčních protokolů. Azure Backup automaticky určuje vhodnou úplnou, rozdílovou zálohu a řetězec záloh protokolu potřebný k obnovení na základě vybraného času.
  • Obnovte konkrétní úplnou nebo rozdílovou zálohu pro dosažení určitého bodu obnovy.

Obnovit předpoklady

Před obnovením databáze si všimněte následujících věcí:

  • Databázi můžete obnovit do instance SQL Serveru ve stejné oblasti Azure.
  • Cílový server musí být zaregistrovaný ve stejném trezoru jako zdroj. Pokud chcete obnovit zálohy do jiného trezoru, povolte obnovení mezi předplatnými.
  • Pokud máte na serveru spuštěných víc instancí, měly by být všechny instance v provozu. V opačném případě se server nezobrazí v seznamu cílových serverů, na které lze databázi obnovit. Další informace najdete v krocích pro řešení potíží.
  • Pokud chcete obnovit databázi zašifrovanou transparentním šifrováním dat na jiný SQL Server, musíte nejprve obnovit certifikát na cílový server.
  • Databáze s podporou CDC by se měly obnovit pomocí možnosti Obnovit jako soubory.
  • Důrazně doporučujeme obnovit "hlavní" databázi pomocí možnosti Obnovit jako soubory a pak provést obnovení pomocí příkazů T-SQL.
  • Pro všechny systémové databáze (model, msdb) před aktivací obnovení zastavte službu agenta SQL Serveru.
  • Zavřete všechny aplikace, které by se mohly pokusit připojit k některé z těchto databází.
  • U hlavních databází není možnost Alternativní umístění pro obnovení podporovaná. Doporučujeme obnovit hlavní databázi pomocí možnosti Obnovit jako soubory a pak provést obnovení pomocí T-SQL příkazů.
  • Pro msdb a model je možnost alternativního umístění pro obnovení podporována pouze tehdy, když se název obnovené databáze liší od názvu cílové databáze. Pokud chcete obnovit stejný název s cílovou databází, doporučujeme provést obnovení pomocí možnosti Obnovit jako soubory a pak provést obnovení pomocí T-SQL příkazů.

Obnovení databáze

K obnovení potřebujete následující oprávnění:

  • Oprávnění Operátora zálohování v trezoru, kde provádíte obnovení.
  • Přístup přispěvatele (s právem zápisu) ke zdrojovému virtuálnímu počítači, který je zálohován.
  • Přístup přispěvatele pro zápis k cílovému virtuálnímu počítači:
    • Pokud provádíte obnovení do stejného virtuálního počítače, jedná se o zdrojový virtuální počítač.
    • Pokud provádíte obnovení do jiného umístění, jedná se o nový cílový virtuální počítač.

Obnovte následujícím způsobem:

  1. Na webu Azure Portal přejděte do Centra zálohování a klikněte na Obnovit.

    Snímek obrazovky znázorňující spuštění procesu obnovení

  2. Jako typ zdroje dat vyberte SQL na virtuálním počítači Azure , vyberte databázi, která se má obnovit, a klikněte na Pokračovat.

    Snímek obrazovky znázorňující výběr typu zdroje dat

  3. V části Konfigurace obnovení určete, kde (nebo jak) obnovit data:

    • Alternativní umístění: Obnovte databázi do alternativního umístění a ponechte původní zdrojovou databázi.

    • Přepsání databáze: Obnovte data do stejné instance SQL Serveru jako původní zdroj. Tato možnost přepíše původní databázi.

      Důležité

      Pokud vybraná databáze patří do skupiny dostupnosti AlwaysOn, SQL Server neumožňuje přepsání databáze. K dispozici je pouze alternativní umístění .

    • Obnovit jako soubory: Místo obnovení jako databáze obnovte záložní soubory, které je možné obnovit jako databázi později na libovolném počítači, kde jsou soubory k dispozici pomocí aplikace SQL Server Management Studio.

Obnovení do alternativního umístění

  1. V nabídce Obnovit konfiguraci v části Kde provést obnovení vyberte alternativní umístění.

  2. Vyberte název a instanci SYSTÉMU SQL Server, do které chcete databázi obnovit.

  3. Do pole Obnovený název databáze zadejte název cílové databáze.

  4. Pokud je to relevantní, vyberte Přepsat, pokud databáze se stejným názvem již ve vybrané instanci SQL existuje.

  5. Vyberte Bod obnovení a vyberte, jestli chcete provést obnovení k určitému bodu v čase , nebo provést obnovení do konkrétního bodu obnovení.

    Snímek obrazovky znázorňující výběr bodu obnovení

    Snímek obrazovky znázorňující obnovení k určitému bodu v čase

  6. V nabídce Rozšířené konfigurace :

    • Pokud chcete po obnovení zachovat nefunkční databázi, povolte obnovení pomocí NORECOVERY.

    • Pokud chcete změnit umístění obnovení na cílovém serveru, zadejte nové cílové cesty.

      Zadání cílových cest

  7. Výběrem možnosti OK aktivujte obnovení. Sledujte průběh obnovení v oblasti Oznámení nebo ho sledujte v zobrazení Úlohy zálohování v trezoru.

    Poznámka:

    Obnovení k určitému bodu v čase je k dispozici pouze pro zálohy protokolů pro databáze, které jsou v režimu úplného a hromadně protokolovaného obnovení.

Obnovení a přepsání

  1. V nabídce Obnovit konfiguraci v části Kde provést obnovení vyberte Přepsat databázi>OK.

    Výběr možnosti Přepsat databázi

  2. V položce Vybrat bod obnovení vyberte Protokoly (Bod v čase) pro obnovení do určitého bodu v čase. Nebo vyberte Úplné a rozdílové obnovení, abyste obnovili systém na konkrétní bod obnovení.

    Poznámka:

    Obnovení k určitému bodu v čase je k dispozici pouze pro zálohy protokolů pro databáze, které jsou v režimu úplného a hromadně protokolovaného obnovení.

Obnovit jako soubory

Pokud chcete zálohovaná data obnovit jako soubory .bak místo databáze, zvolte Obnovit jako soubory. Jakmile se soubory zadají do zadané cesty, můžete tyto soubory převést do libovolného počítače, kde je chcete obnovit jako databázi. Vzhledem k tomu, že tyto soubory můžete přesunout do libovolného počítače, můžete teď obnovit data napříč předplatnými a oblastmi.

  1. V části Where a how to Restore (Kde a jak obnovit) vyberte Restore as files (Obnovit jako soubory).

  2. Vyberte název SQL Serveru, do kterého chcete obnovit záložní soubory.

  3. V cílové cestě na serveru zadejte cestu ke složce na serveru vybraném v kroku 2. Toto je umístění, kde služba vypíše všechny potřebné záložní soubory. Cesta ke sdílené síťové složce nebo cesta připojené sdílené složky Azure, pokud je zadaná jako cílová cesta, obvykle umožňuje snadnější přístup k těmto souborům jinými počítači ve stejné síti nebo se stejnou sdílenou složkou Azure připojenou k nim.

    Poznámka:

    Pokud chcete obnovit záložní soubory databáze ve sdílené složce Azure připojené k cílovému registrovanému virtuálnímu počítači, ujistěte se, že má nt AUTHORITY\SYSTEM přístup ke sdílené složce. Postupujte podle následujících kroků, abyste udělili oprávnění ke čtení a zápisu AFS připojenému na virtuálním počítači:

    • Spusťte PsExec -s cmd, abyste se dostali do shellu NT AUTHORITY\SYSTEM.
      • Spusťte příkaz cmdkey /add:<storageacct>.file.core.windows.net /user:AZURE\<storageacct> /pass:<storagekey>.
      • Ověření přístupu pomocí dir \\<storageacct>.file.core.windows.net\<filesharename>
    • Zahajte obnovu jako soubory z úložiště záloh na určenou cestu \\<storageacct>.file.core.windows.net\<filesharename>.
      PsExec si můžete stáhnout ze stránky Sysinternals .
  4. Vyberte OK.

    Zvolte Obnovit jako soubory

  5. Vyberte Bod obnovení a vyberte, jestli chcete provést obnovení k určitému bodu v čase , nebo provést obnovení do konkrétního bodu obnovení.

  6. Při obnovení k určitému bodu v čase databáze SQL pomocí funkce Obnovit jako soubory uloží všechny body obnovení z úplného zálohování do vybraného bodu v čase. Potom můžete obnovit pomocí těchto souborů jako databázi na libovolném počítači, kde jsou přítomny, pomocí aplikace SQL Server Management Studio.

    Obnovené záložní soubory v cílové cestě

Obnovení k určitému časovému okamžiku

Pokud jste jako typ obnovení vybrali Protokoly (bod v čase), postupujte takto:

  1. V části Obnovit datum a čas otevřete kalendář. V kalendáři se kalendářní data, která mají body obnovení, zobrazují tučně a aktuální datum je zvýrazněné.

  2. Vyberte datum, které obsahuje body obnovení. Nemůžete vybrat data, která nemají žádné body obnovení.

    Otevření kalendáře

  3. Po výběru data se v grafu časové osy zobrazí dostupné body obnovení v souvislém rozsahu.

  4. Zadejte čas pro obnovení v grafu časové osy nebo vyberte čas. Pak vyberte OK.

Částečné obnovení jako soubory

Služba Azure Backup rozhoduje o řetězu souborů, které se mají během obnovení stahovat jako soubory. Existují ale scénáře, kdy nebudete chtít znovu stáhnout celý obsah.

Například, když máte strategii zálohování s týdenními úplnými, denními diferenciálními zálohami a protokoly, a už jste stáhli soubory pro konkrétní diferenciální zálohu. Zjistili jste, že toto není správný bod obnovení, a rozhodli jste se stáhnout diferenciální zálohu dalšího dne. Teď potřebujete pouze rozdílový soubor, protože už máte plnou verzi. S částečným obnovením jako možností souborů, kterou poskytuje Azure Backup, teď můžete z řetězu stahování vyloučit úplný obsah a stáhnout pouze rozdílový soubor.

Vyloučení typů záložních souborů

ExtensionSettingsOverrides.json je soubor JSON (JavaScript Object Notation), který obsahuje přepsání pro více nastavení služby Azure Backup pro SQL. V případě operace „částečné obnovení jako souborů“ musí být přidáno nové pole JSON RecoveryPointTypesToBeExcludedForRestoreAsFiles. Toto pole obsahuje řetězcovou hodnotu, která označuje, které typy bodů obnovení by měly být vyloučeny v další operaci obnovení jako operace se soubory.

  1. Na cílovém počítači, kde se mají stáhnout soubory, přejděte do složky C:\Program Files\Azure Workload Backup\bin.

  2. Pokud ještě neexistuje, vytvořte nový soubor JSON s názvem "ExtensionSettingsOverrides.JSON".

  3. Přidejte následující dvojici klíč-hodnota JSON.

    {
    "RecoveryPointTypesToBeExcludedForRestoreAsFiles": "ExcludeFull"
    }
    
  4. Nevyžaduje se žádné restartování žádné služby. Služba Azure Backup se pokusí vyloučit typy zálohování v řetězu obnovení, jak je uvedeno v tomto souboru.

Pouze RecoveryPointTypesToBeExcludedForRestoreAsFiles přebírá konkrétní hodnoty, které označují body obnovení, které mají být vyloučeny během obnovení. Pro SQL jsou tyto hodnoty:

  • ExcludeFull (Jiné typy zálohování, jako jsou rozdílové zálohování a protokoly, se stáhnou, pokud jsou v řetězu bodů obnovení).
  • ExcludeFullAndDifferential (Jiné typy zálohování, jako jsou protokoly, budou staženy, pokud se nacházejí v řetězu bodů obnovení)
  • ExcludeFullAndIncremental (Jiné typy zálohování, jako jsou protokoly, se stáhnou, pokud se nacházejí v řetězu bodů obnovení).
  • ExcludeFullAndDifferentialAndIncremental (Jiné typy zálohování, jako jsou protokoly, budou staženy, jsou-li přítomny v řetězu bodů obnovení)

Obnovení do konkrétního bodu obnovení

Pokud jste jako typ obnovení vybrali možnost Full &Differential , postupujte takto:

  1. Ze seznamu vyberte bod obnovení a výběrem možnosti OK dokončete proceduru bodu obnovení.

    Volba úplného bodu obnovení

    Poznámka:

    Ve výchozím nastavení se zobrazují body obnovení z posledních 30 dnů. Body obnovení starší než 30 dnů můžete zobrazit tak, že vyberete Filtr a vyberete vlastní rozsah.

Obnovení databází s velkým počtem souborů

Pokud je celková velikost řetězců souborů v databázi větší než určitý limit, azure Backup ukládá seznam databázových souborů do jiné součásti pit, takže během operace obnovení nemůžete nastavit cílovou cestu obnovení. Soubory se místo toho obnoví do výchozí cesty SQL.

Obnovení databáze s velkým souborem

Obnovení databáze ze souboru .bak pomocí aplikace SSMS

Operaci Obnovit jako soubory můžete použít k obnovení databázových souborů ve .bak formátu při obnovování z webu Azure Portal. Další informace.

Po dokončení obnovení .bak souboru do virtuálního počítače Azure můžete aktivovat obnovení pomocí příkazů TSQL prostřednictvím SSMS.   Chcete-li obnovit soubory databáze do původní cesty na zdrojovém serveru, odeberte MOVE klauzuli z dotazu obnovení TSQL.   Příklad

  USE [master] 
  RESTORE DATABASE [<DBName>] FROM  DISK = N'<.bak file path>'

Poznámka:

Na cílovém serveru byste neměli mít stejné databázové soubory (obnovení s nahrazením).  Můžete také povolit okamžité inicializace souborů na cílovém serveru, abyste snížili režii při inicializaci souborů.

Pokud chcete přemístit soubory databáze z cílového obnovovacího serveru, můžete pomocí MOVE klauzulí vytvořit příkaz TSQL.

  USE [master] 
  RESTORE DATABASE [<DBName>] FROM  DISK = N'<.bak file path>'  MOVE N'<LogicalName1>' TO N'<TargetFilePath1OnDisk>',  MOVE N'<LogicalName2>' TO N'<TargetFilePath2OnDisk>' GO

Příklad

  USE [master] 
  RESTORE DATABASE [test] FROM  DISK = N'J:\dbBackupFiles\test.bak' WITH  FILE = 1,  MOVE N'test' TO N'F:\data\test.mdf',  MOVE N'test_log' TO N'G:\log\test_log.ldf',  NOUNLOAD,  STATS = 5 
  GO

Pokud databáze obsahuje více než dva soubory, můžete do dotazu pro obnovení přidat další MOVE klauzule. SSMS můžete také použít k obnovení databáze pomocí .bak souborů. Další informace.

Poznámka:

Pro velké obnovení databáze doporučujeme použít příkazy TSQL. Pokud chcete přemístit konkrétní soubory databáze, podívejte se na seznam databázových souborů ve formátu JSON vytvořeném během operace Obnovit jako soubory .

Obnovení napříč regiony

Jako jednu z možností obnovení umožňuje obnovení mezi oblastmi (CRR) obnovit databáze SQL hostované na virtuálních počítačích Azure v sekundární oblasti, což je spárovaná oblast Azure.

Pokud chcete začít používat funkci, přečtěte si část Před zahájením.

Pokud chcete zjistit, jestli je povolený CRR, postupujte podle pokynů v tématu Konfigurace obnovení mezi oblastmi.

Zobrazení zálohovaných položek v sekundární oblasti

Pokud je povolený CRR, můžete zobrazit zálohované položky v sekundární oblasti.

  1. Na portálu přejděte k trezoru služby Recovery Services>položkám zálohování.
  2. Vyberte Sekundární oblast pro zobrazení položek v sekundární oblasti.

Poznámka:

V seznamu se zobrazí jenom typy správy záloh podporující funkci CRR. V současné době je povolena pouze podpora obnovení dat sekundární oblasti do sekundární oblasti.

Zálohování položek v sekundární oblasti

Databáze v sekundární oblasti

Obnovení v sekundární oblasti

Uživatelské prostředí obnovení sekundární oblasti bude podobné uživatelskému prostředí obnovení primární oblasti. Při konfiguraci podrobností v podokně Konfigurace obnovení pro konfiguraci obnovení se zobrazí výzva k zadání pouze parametrů sekundární oblasti. Trezor by měl existovat v sekundární oblasti a sql server by měl být zaregistrovaný do trezoru v sekundární oblasti.

Kde a jak provést obnovení

Oznámení o probíhajícím obnovení triggeru

Poznámka:

  • Po aktivaci obnovení a ve fázi přenosu dat není možné úlohu obnovení zrušit.
  • Role/přístupová úroveň potřebná k provedení operace obnovení mezi regiony je role operátora zálohování v rámci předplatného a přístup přispěvatele (zápis) k zdrojovému a cílovému virtuálnímu počítači. Pokud chcete zobrazit úlohy zálohování, je minimálním požadovaným oprávněním v předplatném role Backup Reader.
  • Cíl RPO pro zálohovaná data, která mají být k dispozici v sekundárním regionu, je 12 hodin. Proto, když zapnete CRR, RPO (cíl bodu obnovení) pro sekundární oblast je 12 hodin + doba trvání frekvence záznamu (kterou lze nastavit na minimálně 15 minut).

Seznamte se s minimálními požadavky na role pro obnovení napříč oblastmi.

Monitorování úloh obnovy v sekundární oblasti

  1. Na webu Azure Portal přejděte do Centrum zálohování>Úlohy zálohování.

  2. Operace filtrování pro CrossRegionRestore pro zobrazení úloh v sekundární oblasti.

    Snímek obrazovky zobrazující filtrované úlohy zálohování

Obnovení napříč předplatnými

Azure Backup teď umožňuje obnovit databázi SQL do libovolného předplatného (podle následujících požadavků Azure RBAC) z bodu obnovení. Ve výchozím nastavení se Azure Backup obnoví do stejného předplatného, ve kterém jsou dostupné body obnovení.

S obnovením mezi předplatnými (CSR) máte flexibilitu obnovení do libovolného předplatného a jakéhokoli trezoru v rámci vašeho tenanta, pokud jsou k dispozici oprávnění k obnovení. Ve výchozím nastavení je csr povolené pro všechny trezory služby Recovery Services (existující a nově vytvořené trezory).

Poznámka:

  • Obnovení napříč předplatnými můžete aktivovat z trezoru služby Recovery.
  • CSR se podporuje jenom pro zálohování založené na streamování a nepodporuje se pro zálohování založené na snímcích.
  • Obnovení mezi oblastmi (CRR) s CSR není podporováno.

Požadavky Azure RBAC

Typ operace Operátor zálohování Úložiště služeb pro obnovení Alternativní operátor
Obnovení databáze nebo obnovení jako souborů Virtual Machine Contributor Zdrojový virtuální počítač, který byl zálohován Místo předdefinované role můžete zvážit vlastní roli, která má následující oprávnění:

- Microsoft.Compute/virtualMachines/write
- Microsoft.Compute/virtualMachines/read
Virtual Machine Contributor Cílový virtuální počítač, ve kterém se databáze obnoví, nebo se vytvoří soubory. Místo předdefinované role můžete zvážit vlastní roli, která má následující oprávnění:

- Microsoft.Compute/virtualMachines/write
- Microsoft.Compute/virtualMachines/read
Backup Operator Cílový trezor služby Recovery Services

Ve výchozím nastavení je v trezoru služby Recovery Services povolený CSR. Pokud chcete aktualizovat nastavení obnovení trezoru služby Recovery Services, přejděte do části Vlastnosti>Obnovení mezi předplatnými a proveďte požadované změny.

Snímek obrazovky ukazuje, jak upravit nastavení obnovení mezi různými předplatnými v trezoru služby Recovery Services pro databázi SQL.

Další kroky

Správa a monitorování Databáze SQL Serveru zálohované službou Azure Backup