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
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
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
- Zjistěte, jak obnovit databázi SQL na virtuálním počítači Azure pomocí rozhraní příkazového řádku.
- Zjistěte, jak zálohovat databázi SQL spuštěnou na virtuálním počítači Azure pomocí webu Azure Portal.