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
Použijte prostředí Bash v Azure Cloud Shell. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shell.
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ž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 .