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.

Obnovení do časového 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 odpovídající úplné rozdílové zálohování a řetěz záloh protokolů, které jsou potřeba k obnovení na základě vybraného času.
  • Obnovení konkrétní úplné nebo rozdílové zálohy pro obnovení do konkrétního bodu obnovení.

Požadavky na obnovení

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

Obnovení databáze

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

  • Oprávnění operátora zálohování v trezoru, ve kterém provádíte obnovení.
  • Přístup přispěvatele (zápisu) ke zdrojovému virtuálnímu počítači, který je zálohovaný.
  • Přístup přispěvatele (zápisu) 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.

    Screenshot showing the start the restore process.

  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.

    Screenshot showing to select the datasource type.

  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 možné, vyberte Možnost 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í.

    Screenshot showing to select Restore Point.

    Screenshot showing restore to point in time.

  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.

      Enter target paths

  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.

    Select Overwrite DB

  2. V části Vybrat bod obnovení vyberte protokoly (bod v čase) a obnovte ho k určitému bodu v čase. Nebo vyberte Úplné a rozdílové obnovení k určitému bodu 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í.

Obnovení souborů

Pokud chcete zálohovaná data obnovit jako .bak soubory 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. Pomocí následujících kroků můžete udělit oprávnění ke čtení a zápisu připojenému k AFS na virtuálním počítači:

    • Spusťte PsExec -s cmd vstup do prostředí 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 obnovení jako soubory ze služby Backup Vault do \\<storageacct>.file.core.windows.net\<filesharename> cesty.
      PsExec si můžete stáhnout ze stránky Sysinternals .
  4. Vyberte OK.

    Select Restore As Files

  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 tyto soubory obnovit jako databázi na libovolném počítači, který existují, pomocí aplikace SQL Server Management Studio.

    Restored Backup Files in Destination Path

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 s body obnovení. Nemůžete vybrat data, která nemají žádné body obnovení.

    Open the calendar

  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 zásady zálohování týdenních úplných, denní rozdíly a protokoly a už jste stáhli soubory pro konkrétní rozdíl. Zjistili jste, že toto není správný bod obnovení a rozhodli jste se stáhnout rozdílový den následujícího dne. Teď potřebujete jenom rozdílový soubor, protože už máte úplné spuštění. 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ů

Přípona NastaveníOverrides.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 RecoveryPointTypesToBeExcludedForRestoreAsFiles JSON. 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 "Extension NastaveníOverrides.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, 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, pokud se nacházejí v řetězu bodů obnovení)

Obnovení určité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í.

    Choose a full recovery point

    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.

Restore Database with large file

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í mezi oblastmi

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 funkci připojit, 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 položkám zálohování trezoru>služby Recovery Services.
  2. Výběrem možnosti Sekundární oblast zobrazíte položky 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.

Backup items in secondary region

Databases in secondary region

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.

Where and how to restore

Trigger restore in progress notification

Poznámka:

  • Po aktivaci obnovení a ve fázi přenosu dat není možné úlohu obnovení zrušit.
  • Úroveň role/přístupu potřebná k provedení operace obnovení v různých oblastech jsou role operátora zálohování v přístupu přispěvatele a přispěvatele (zápisu) na zdrojovém a cílovém virtuálním počítači. Pokud chcete zobrazit úlohy zálohování, čtenář služby Backup je minimální požadované oprávnění v předplatném.
  • Cíl bodu obnovení pro zálohovaná data, která mají být k dispozici v sekundární oblasti, je 12 hodin. Proto když zapnete CRR, cíl bodu obnovení pro sekundární oblast je 12 hodin + doba trvání frekvence protokolu (to lze nastavit na minimálně 15 minut).

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

Monitorování úloh obnovení sekundární oblasti

  1. Na webu Azure Portal přejděte do centra>zálohování úloh zálohování.

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

    Screenshot showing the filtered Backup jobs.

Obnovení mezi 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í mezi předplatnými můžete aktivovat z trezoru služby Recovery Services.
  • 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 se nepodporuje.

Požadavky Azure RBAC

Typ operace Operátor zálohování Trezor služby Recovery Services Alternativní operátor
Obnovení databáze nebo obnovení jako souborů Virtual Machine Contributor Zdrojový virtuální počítač, který se zálohoval 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.

Screenshot shows how to modify the Cross Subscription Restore settings on a Recovery Services vault for SQL database.

Další kroky

Správa a monitorování databází SQL Serveru zálohovaných službou Azure Backup