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

Azure CLI se používá 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álohování na vyžádání pomocí Azure CLI. Tyto akce můžete také provádět pomocí 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 také vytvořit pomocí Azure CLI.)

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

  • Vytvoření trezoru Služeb zotavení
  • 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í

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

Požadavky

Vytvoření trezoru Služeb zotavení

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 . Skupinu prostředků a umístění použijte jako umístění virtuálního počítače, který chcete chránit. V tomto rychlém startu se dozvíte, jak vytvořit virtuální počítač 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ě. Geo-Redundant úložiště zajišťuje replikaci zálohovaných dat do sekundární oblasti Azure, i když je od primární oblasti vzdálená stovky kilometrů. Pokud je potřeba změnit nastavení redundance úložiště, použijte příkaz az backup vault backup-properties set .

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 Server

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 jeho aktuální databáze. Pokud ale chcete zjistit nové databáze, které by mohly být přidány v budoucnu, přečtěte si část Zjišťování nových databází přidaných na registrovaný SQL Server .

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žije v dalších částech k povolení zálohování a jejich aktivaci. Například VMAppContainer; Vypočítat; SQLResourceGroup, testSQLVM.

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

Příkaz az backup protectable-item list zobrazí 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

V tomto seznamu byste měli najít databázi, kterou chcete zálohovat, která se zobrazuje 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  

Teď nakonfigurujte zálohování pro sqldatabase, mssqlserver, hlavní databázi.

Pokud chcete nakonfigurovat a chránit zálohy databáze, 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 SQL AlwaysOn a chcete v rámci skupiny dostupnosti identifikovat chránitelný zdroj dat. V této části je chránitelným typem 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 obsahuje seznam všech úloh zálohování (naplánovaných nebo na vyžádání), které byly spuštěné nebo aktuálně spuštěné v chráněné databázi, a kromě dalších operací, jako je registrace, konfigurace zálohování a odstranění dat zálohování.

Poznámka

Azure Backup automaticky neupravuje změny letního času při zálohování databáze SQL spuštěné na virtuálním počítači Azure.

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. K povolení automatické ochrany použijte příkaz az backup protection auto-enable-for-azurewl .

Vzhledem k tomu, že instrukce je zálohovat všechny budoucí databáze, operace se provádí na úrovni SQLInstance .

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 backup-now .

Poznámka

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

  • Úplné uchovávání záloh na vyžádání po dobu minimálně 45 dnů a maximálně 99 let.
  • Pouze úplné kopírování na vyžádání přijímá jakoukoli hodnotu pro uchování.
  • Rozdíl na vyžádání uchovává zálohy podle uchovávání plánovaných rozdílů nastavených v zásadách.
  • Protokol na vyžádání uchovává zálohy podle uchovávání plá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

V odpovědi se zobrazí 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