Zálohování databází SQL na virtuálním počítači Azure pomocí Azure CLI

Azure CLI slouží k vytváření a správě prostředků Azure z příkazového řádku nebo prostřednictvím skriptů. Tento článek popisuje, jak zálohovat databázi SQL na virtuálním počítači Azure a aktivovat zálohy na vyžádání pomocí Azure CLI. Tyto akce můžete provádět také pomocí webu Azure Portal.

Tento článek předpokládá, že už máte na virtuálním počítači Azure nainstalovanou databázi SQL. (Virtuální počítač můžete vytvořit také pomocí Azure CLI).

V tomto článku se naučíte:

  • Vytvoření trezoru služby Recovery Services
  • Registrace SQL Serveru a zjišťování databází na něm
  • Povolení zálohování databáze SQL
  • Aktivace zálohování na vyžádání

Prohlédni si aktuálně podporované scénáře SQL na virtuálním počítači Azure.

Požadavky

Vytvoření trezoru služby Recovery Services

Trezor služby Recovery Services je logický kontejner, který ukládá zálohovaná data pro každý chráněný prostředek, jako jsou virtuální počítače Azure nebo úlohy spuštěné na virtuálních počítačích Azure – například databáze SQL nebo HANA. Úloha zálohování pro chráněný prostředek při spuštění vytvoří uvnitř trezoru služby Recovery Services bod obnovení. Pomocí některého z těchto bodů obnovení pak můžete obnovit data k danému bodu v čase.

Vytvořte trezor služby Recovery Services pomocí příkazu az backup vault create . Jako virtuální počítač, který chcete chránit, použijte skupinu prostředků a umístění. Zjistěte, jak vytvořit virtuální počítač s Windows a virtuální počítač s Linuxem pomocí Azure CLI.

V tomto článku použijeme:

  • Skupina prostředků s názvem SQLResourceGroup
  • Virtuální počítač s názvem testSQLVM
  • Prostředky v umístění westus2

Spuštěním následujícího příkazu vytvořte trezor s názvem SQLVault.

az backup vault create --resource-group SQLResourceGroup \
    --name SQLVault \
    --location westus2

Ve výchozím nastavení je trezor služby Recovery Services nastavený pro geograficky redundantní úložiště. Geograficky redundantní úložiště zajišťuje, že se vaše zálohovaná data replikují do sekundární oblasti Azure, i když je to stovky kilometrů od primární oblasti. Pokud je potřeba upravit nastavení redundance úložiště, použijte příkaz az backup-properties set služby backup vault.

az backup vault backup-properties set \
    --name SQLVault  \
    --resource-group SQLResourceGroup \
    --backup-storage-redundancy "LocallyRedundant/GeoRedundant"

Pokud chcete ověřit, jestli se trezor úspěšně vytvořil, použijte příkaz az backup vault list . Odpověď se zobrazí takto:

Location   Name             ResourceGroup
---------  ---------------  -------------  
westus2    SQLVault     	SQLResourceGroup

Registrace a ochrana SQL Serveru

Pokud chcete zaregistrovat SQL Server v trezoru služby Recovery Services, použijte příkaz az backup container register . VMResourceId je ID prostředku virtuálního počítače, který jste vytvořili pro instalaci SQL.

az backup container register --resource-group SQLResourceGroup \
    --vault-name SQLVault \
    --workload-type SQLDataBase \
    --backup-management-type AzureWorkload \
    --resource-id VMResourceId

Poznámka:

Pokud virtuální počítač není ve stejné skupině prostředků jako trezor, sqlResourceGroup použije skupinu prostředků, ve které byl trezor vytvořen.

Registrace SQL Serveru automaticky zjistí všechny její aktuální databáze. Pokud ale chcete zjistit nové databáze, které se můžou přidat v budoucnu, podívejte se do části Zjišťování nových databází přidaných do registrovaného SQL Serveru .

Pomocí příkazu az backup container list ověřte, jestli je instance SQL úspěšně zaregistrovaná ve vašem trezoru. Odpověď se zobrazí takto:

Name                                                    Friendly Name    Resource Group        Type           Registration Status
------------------------------------------------------  --------------   --------------------  ---------      ----------------------
VMAppContainer;Compute;SQLResourceGroup;testSQLVM   	testSQLVM        SQLResourceGroup  		AzureWorkload  Registered

Poznámka:

Název sloupce ve výše uvedeném výstupu odkazuje na název kontejneru. Tento název kontejneru se používá v dalších částech, aby bylo možné povolit zálohování a aktivovat je. Například VMAppContainer; Vypočítat; SQLResourceGroup; testSQLVM.

Povolení zálohování databáze SQL

Příkaz az backup protectable-item list obsahuje seznam všech databází zjištěných v instanci SQL, kterou jste zaregistrovali v předchozím kroku.

az backup protectable-item list --resource-group SQLResourceGroup \
    --vault-name SQLVault \
    --workload-type SQLDataBase \
	--backup-management-type AzureWorkload \
	--protectable-item-type SQLDataBase
    --output table

Databázi byste měli najít v tomto seznamu, který chcete zálohovat, který se zobrazí takto:

Name                           		Protectable Item Type    ParentName    ServerName    	IsProtected
-----------------------------  		----------------------   ------------  -----------   	------------
sqldatabase;mssqlserver;master      SQLDataBase              MSSQLServer   testSQLVM        NotProtected  
sqldatabase;mssqlserver;model       SQLDataBase              MSSQLServer   testSQLVM        NotProtected  
sqldatabase;mssqlserver;msdb        SQLDataBase              MSSQLServer   testSQLVM        NotProtected  

Nyní nakonfigurujte zálohování pro databázi sqldatabase; mssqlserver; hlavní databáze.

Pokud chcete nakonfigurovat a chránit zálohy v databázi, po jednom použijte příkaz az backup protection enable-for-azurewl . Zadejte název zásady, kterou chcete použít. Pokud chcete vytvořit zásadu pomocí rozhraní příkazového řádku, použijte příkaz az backup policy create . V tomto článku jsme použili zásady testSQLPolicy .

az backup protection enable-for-azurewl --resource-group SQLResourceGroup \
    --vault-name SQLVault \
    --policy-name SQLPolicy \
    --protectable-item-name "sqldatabase;mssqlserver;master"  \
    --protectable-item-type SQLDataBase \
    --server-name testSQLVM \
    --workload-type SQLDataBase \
    --output table

Stejný příkaz můžete použít, pokud máte skupinu dostupnosti AlwaysOn SQL a chcete identifikovat chránitelný zdroj dat v rámci skupiny dostupnosti. V této části je typ chráněné položky SQLAG.

Pokud chcete ověřit, jestli je výše uvedená konfigurace zálohování dokončená, použijte příkaz az backup job list . Výstup se zobrazí takto:

Name                                  Operation         Status     Item Name   Start Time UTC
------------------------------------  ---------------   ---------  ----------  -------------------  
e0f15dae-7cac-4475-a833-f52c50e5b6c3  ConfigureBackup   Completed  master         2019-12-03T03:09:210831+00:00  

Příkaz az backup job list uvádí všechny úlohy zálohování (naplánované nebo na vyžádání), které jsou spuštěné nebo aktuálně spuštěné v chráněné databázi, kromě dalších operací, jako je registrace, konfigurace zálohování a odstranění zálohovaných dat.

Poznámka:

Azure Backup se při zálohování databáze SQL běžící na virtuálním počítači Azure automaticky neupravuje pro změny letního času.

Podle potřeby upravte zásadu ručně.

Povolení automatické ochrany

Pro bezproblémovou konfiguraci zálohování je možné všechny databáze přidané v budoucnu automaticky chránit pomocí určitých zásad. Pokud chcete povolit automatickou ochranu, použijte příkaz az backup protection auto-enable-for-azurewl .

Vzhledem k tomu, že instrukce slouží k zálohování všech budoucích databází, operace se provádí na úrovni instance SQL.

az backup protection auto-enable-for-azurewl --resource-group SQLResourceGroup \
    --vault-name SQLVault \
    --policy-name SQLPolicy \
    --protectable-item-name "sqlinstance;mssqlserver"  \
    --protectable-item-type SQLInstance \
    --server-name testSQLVM \
    --workload-type MSSQL\
    --output table

Aktivace zálohování na vyžádání

Pokud chcete aktivovat zálohování na vyžádání, použijte příkaz az backup protection-now .

Poznámka:

Doba uchovávání této zálohy je určena typem běhu zálohy na vyžádání.

  • Úplné zálohování na vyžádání uchovává minimálně 45 dní a maximálně 99 let.
  • Kopie na vyžádání přijímá pouze úplnou hodnotu pro uchování.
  • Rozdílový rozdíl na vyžádání uchovává zálohy podle uchovávání plánovaných rozdílových hodnot nastavených v zásadách.
  • Protokol na vyžádání uchovává zálohy podle uchovávání naplánovaných protokolů nastavených v zásadách.
az backup protection backup-now --resource-group SQLResourceGroup \
    --item-name sqldatabase;mssqlserver;master \
    --vault-name SQLVault \
    --container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
    --backup-type Full
    --retain-until 01-01-2040
    --output table

Výstup se zobrazí takto:

Name                                  ResourceGroup
------------------------------------  -------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3  sqlResourceGroup

Odpověď vám poskytne název úlohy. Tento název úlohy můžete použít ke sledování stavu úlohy pomocí příkazu az backup job show .

Další kroky