Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 spravovat zálohovanou databázi SQL na virtuálním počítači Azure pomocí Azure CLI. Tyto akce můžete provádět také pomocí webu Azure Portal.
Poznámka:
Pokud jste použili zálohování databáze SQL v Azure pomocí rozhraní příkazového řádku, pak používáte následující prostředky:
- Skupina prostředků s názvem SQLResourceGroup
- Trezor s názvem SQLVault
- Chráněný kontejner s názvem VMAppContainer; Vypočítat; SQLResourceGroup; testSQLVM
- Zálohovaná databáze nebo položka s názvem sqldatabase; mssqlserver; master
- Prostředky v regionu westus2
Azure CLI usnadňuje proces správy databáze SQL spuštěné na virtuálním počítači Azure zálohovaného pomocí služby Azure Backup. Následující části popisují jednotlivé operace správy.
Pokud chcete zobrazit scénáře zálohování a obnovení, které dnes podporujeme, podívejte se na matici podpory. Nejčastější dotazy najdete v nejčastějších dotazech.
Monitorování úloh zálohování a obnovení
Pomocí příkazu az backup job list můžete monitorovat dokončené nebo aktuálně spuštěné úlohy (zálohování nebo obnovení). Rozhraní příkazového řádku také umožňuje pozastavit aktuálně spuštěnou úlohu nebo počkat na dokončení úlohy.
az backup job list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--output table
Výstup se zobrazí takto:
Name Operation Status Item Name Start Time UTC
------------------------------------ --------------- --------- ---------- -------------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 ConfigureBackup Completed master [testSQLVM] 2019-12-03T03:09:210831+00:00
ccdb4dce-8b15-47c5-8c46-b0985352238f Backup (Full) Completed master [testSQLVM] 2019-12-01T10:30:58.867489+00:00
4980af91-1090-49a6-ab96-13bc905a5282 Backup (Differential) Completed master [testSQLVM] 2019-12-01T10:36:00.563909+00:00
F7c68818-039f-4a0f-8d73-e0747e68a813 Restore (Log) Completed master [testSQLVM] 2019-12-03T05:44:51.081607+00:00
Změna zásady
Pokud chcete změnit zásadu základní konfigurace zálohování SQL, použijte příkaz az backup policy set . Parametr name v tomto příkazu odkazuje na zálohovanou položku, jejíž zásadu chcete změnit. Zde nahraďte zásadu SQL databáze sqldatabase;mssqlserver;master novou zásadou newSQLPolicy. Nové zásady můžete vytvořit pomocí příkazu az backup policy create .
az backup item set-policy --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name "VMAppContainer;Compute;SQLResourceGroup;testSQLVM" \
--policy-name newSQLPolicy \
--name sqldatabase;mssqlserver;master
Výstup se zobrazí takto:
Name Operation Status Item Name Backup Management Type Start Time UTC Duration
------------------------------------ --------------- --------- ----------- ------------------------ -------------------------------- --------------
ba350996-99ea-46b1-aae2-e2096c1e28cd ConfigureBackup Completed master AzureWorkload 2022-06-22T08:24:03.958001+00:00 0:01:12.435765
Vytvoření zásady rozdílového zálohování
Pokud chcete vytvořit zásady rozdílového zálohování, použijte příkaz az backup policy create s následujícími parametry:
- --backup-management-type: Pracovní zátěž Azure.
- --workload-type: Databáze SQL.
- --name: Název zásady.
- --policy: Soubor JSON s odpovídajícími podrobnostmi pro plán a uchovávání.
- --resource-group: Skupina prostředků úložiště.
- --vault-name: Název trezoru/
Příklad:
az backup policy create --resource-group SQLResourceGroup --vault-name SQLVault --name SQLPolicy --backup-management-type AzureWorkload --policy SQLPolicy.json --workload-type SQLDataBase
Ukázkový JSON (SQLPolicy.json):
{"eTag": null,
"id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SQLResourceGroup/providers/Microsoft.RecoveryServices/vaults/SQLVault/backupPolicies/SQLPolicy",
"location": null,
"name": "sqlpolicy",
"properties": {
"backupManagementType": "AzureWorkload",
"workLoadType": "SQLDataBase",
"settings": {
"timeZone": "UTC",
"issqlcompression": false,
"isCompression": false
},
"subProtectionPolicy": [
{
"policyType": "Full",
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunFrequency": "Weekly",
"scheduleRunDays": [
"Sunday"
],
"scheduleRunTimes": [
"2022-06-13T19:30:00Z"
],
"scheduleWeeklyFrequency": 0
},
"retentionPolicy": {
"retentionPolicyType": "LongTermRetentionPolicy",
"weeklySchedule": {
"daysOfTheWeek": [
"Sunday"
],
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 104,
"durationType": "Weeks"
}
},
"monthlySchedule": {
"retentionScheduleFormatType": "Weekly",
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 60,
"durationType": "Months"
}
},
"yearlySchedule": {
"retentionScheduleFormatType": "Weekly",
"monthsOfYear": [
"January"
],
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 10,
"durationType": "Years"
}
}
}
},
{
"policyType": "Differential",
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunFrequency": "Weekly",
"scheduleRunDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"scheduleRunTimes": [
"2022-06-13T02:00:00Z"
],
"scheduleWeeklyFrequency": 0
},
"retentionPolicy": {
"retentionPolicyType": "SimpleRetentionPolicy",
"retentionDuration": {
"count": 30,
"durationType": "Days"
}
}
},
{
"policyType": "Log",
"schedulePolicy": {
"schedulePolicyType": "LogSchedulePolicy",
"scheduleFrequencyInMins": 120
},
"retentionPolicy": {
"retentionPolicyType": "SimpleRetentionPolicy",
"retentionDuration": {
"count": 15,
"durationType": "Days"
}
}
}
],
"protectedItemsCount": 0
},
"resourceGroup": "SQLResourceGroup",
"tags": null,
"type": "Microsoft.RecoveryServices/vaults/backupPolicies"
}
Po úspěšném vytvoření zásady se ve výstupu příkazu zobrazí json zásad, který jste předali jako parametr při provádění příkazu.
V následující části zásad můžete určit požadovanou frekvenci zálohování a uchovávání rozdílových záloh.
Například:
{
"policyType": "Differential",
"retentionPolicy": {
"retentionDuration": {
"count": 30,
"durationType": "Days"
},
"retentionPolicyType": "SimpleRetentionPolicy"
},
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"scheduleRunFrequency": "Weekly",
"scheduleRunTimes": [
"2017-03-07T02:00:00+00:00"
],
"scheduleWeeklyFrequency": 0
}
}
Příklad:
Pokud chcete mít rozdílové zálohy pouze v sobotu a zachovat je po dobu 60 dnů, proveďte v zásadách následující změny:
- Aktualizujte počet doba uchovávání informací na 60 dnů.
- Zadejte pouze sobotu jako ScheduleRunDays.
{
"policyType": "Differential",
"retentionPolicy": {
"retentionDuration": {
"count": 60,
"durationType": "Days"
},
"retentionPolicyType": "SimpleRetentionPolicy"
},
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": [
"Saturday"
],
"scheduleRunFrequency": "Weekly",
"scheduleRunTimes": [
"2017-03-07T02:00:00+00:00"
],
"scheduleWeeklyFrequency": 0
}
}
Ochrana nových databází přidaných do instance SQL
Registrace instance SQL v trezoru služby Recovery Services automaticky zjistí všechny databáze v této instanci.
Pokud jste ale do instance SQL přidali nové databáze později, použijte příkaz az backup protectable-item initialize . Tento příkaz zjistí přidané nové databáze.
az backup protectable-item initialize --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name "VMAppContainer;Compute;SQLResourceGroup;testSQLVM" \
--workload-type SQLDataBase
Poté použijte cdlet az backup protectable-item list, abyste vyjmenovali všechny databáze objevené na vaší SQL instanci. Zkontrolujte nebo filtrujte jejich stav ochrany. Když najdete databázi, kterou chcete zálohovat, podívejte se na Povolení zálohování databáze SQL.
az backup protectable-item list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--protectable-item-type SQLDataBase \
--output table
Nová databáze, kterou chcete zálohovat, se zobrazí v tomto seznamu, která se zobrazí takto:
Name Protectable Item Type ParentName ServerName IsProtected
--------------------------- ---------------------- ------------ ----------- ------------
sqldatabase;mssqlserver;db1 SQLDataBase mssqlserver testSQLVM NotProtected
sqldatabase;mssqlserver;db2 SQLDataBase mssqlserver testSQLVM NotProtected
Zastavení ochrany databáze SQL
Ochranu databáze SQL můžete zastavit v následujících procesech:
- Zastavte všechny budoucí úlohy zálohování a odstraňte všechny body obnovení.
- Zastavte všechny budoucí úlohy zálohování a ponechte body obnovení nedotčené.
Pokud se rozhodnete ponechat body obnovení, vezměte v úvahu tyto detaily:
- Všechny body obnovení zůstanou navždy nedotčeny a veškeré prořezávání se zastaví při zastavení ochrany s uchováním dat.
- Za chráněnou instanci a využité úložiště se vám budou účtovat poplatky.
- Pokud odstraníte zdroj dat bez zastavení zálohování, nové zálohy selžou.
Procesy zastavení ochrany jsou podrobně popsané níže.
Ukončení ochrany se zachováním dat
Pokud chcete zastavit ochranu se zachováním dat, použijte příkaz az backup protection disable.
az backup protection disable --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name "VMAppContainer;Compute;SQLResourceGroup;testSQLVM" \
--item-name "sqldatabase;mssqlserver;master" \
--workload-type SQLDataBase \
--output table
Výstup se zobrazí takto:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
Pokud chcete ověřit stav této operace, použijte příkaz az backup job show .
Zastavení ochrany bez uchovávání dat
Pokud chcete zastavit ochranu bez zachování dat, použijte příkaz az backup protection disable .
az backup protection disable --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name "VMAppContainer;Compute;SQLResourceGroup;testSQLVM" \
--item-name "sqldatabase;mssqlserver;master" \
--workload-type SQLDataBase \
--delete-backup-data true \
--output table
Výstup se zobrazí takto:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
Pokud chcete ověřit stav této operace, použijte příkaz az backup job show .
Obnovení ochrany
Když zastavíte ochranu databáze SQL se zachováním dat, můžete ochranu obnovit později. Pokud zálohovaná data nezachováte, nebudete moct ochranu obnovit.
K obnovení ochrany použijte příkaz az backup protection resume .
az backup protection resume --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name "VMAppContainer;Compute;SQLResourceGroup;testSQLVM" \
--policy-name SQLPolicy \
--item-name "<native-database-item-name>" \
--output table
Výstup se zobrazí takto:
Name ResourceGroup
------------------------------------ ---------------
b2a7f108-1020-4529-870f-6c4c43e2bb9e SQLResourceGroup
Pokud chcete ověřit stav této operace, použijte příkaz az backup job show .
Správa záloh snímků instance SQL
Následující snapshot příkazy používají syntaxi PowerShell shellu, nikoli Bash. Nahraďte zástupné prvky a použijte verzi Azure CLI, která podporuje možnosti snapshotů uvedené v tomto článku. Spusť pouze zamýšlenou operaci. Příklady retain-data a delete-data jsou alternativy.
Vyberte trezor a chráněnou instanci
Použijte předplatné a skupinu prostředků vaultu pro běžné argumenty:
$vaultSubscription = "<vault-subscription-id>"
$vaultRg = "<vault-rg>"
$vaultName = "<vault-name>"
$vaultArgs = @("--subscription", $vaultSubscription, "--resource-group", $vaultRg, "--vault-name", $vaultName)
az backup vault show --subscription $vaultSubscription --resource-group $vaultRg --name $vaultName
az backup container list @vaultArgs --backup-management-type AzureWorkload `
--query "[].{Name:name,VM:properties.friendlyName}" --output table
$containerName = "<native-source-container-name>"
$sourceArgs = $vaultArgs + @("--container-name", $containerName, "--backup-management-type", "AzureWorkload")
Zkopírujte přesný název kontejneru z výstupu. Vyjmenujte všechny instance chráněné snapshoty v trezoru a poté omezte seznam na vybraný kontejner:
az backup item list @vaultArgs --backup-management-type AzureWorkload `
--workload-type SQLInstance --output json
az backup item list @sourceArgs --workload-type SQLInstance --output json
$instanceItemName = "<native-protected-instance-item-name>"
az backup item show @sourceArgs --workload-type SQLInstance `
--name $instanceItemName --output json
$instanceArgs = $sourceArgs + @("--item-name", $instanceItemName, "--workload-type", "SQLInstance")
Používejte nativní názvy vrácené službou místo vytváření názvů kontejnerů nebo položek. Pro tvorbu zásad a výběr databáze viz Konfigurace zálohování snímků instance SQL.
Operace snímků monitoru
Použijte název úlohy, který vrací operace zálohování, obnovení nebo ochrany, ke kontrole jejího stavu.
az backup job show @vaultArgs --name "<job-name>" --output json
Zastavit ochranu a uchovávání dat
Potvrďte, že vybraná položka je zamýšlená instance, než zastavíte její zálohy:
az backup protection disable @instanceArgs --delete-backup-data false
Tato operace zastaví zálohování při zachování existujících zálohovacích dat. Před pokračováním si přečtěte potvrzovací výzvu.
Zastavení ochrany a odstranění dat
Warning
Následující je destruktivní alternativou k uchovávání zálohovacích dat. Před žádostí o smazání ověřte vybranou instanci a její databáze. Neměnnost trezoru a nastavení soft-delete mohou ovlivnit chování při mazání.
az backup protection disable @instanceArgs --delete-backup-data true
Odregistrujte VM kontejner
Kontejner odregistrujte až poté, co všechny jeho chráněné položky již nejsou chráněny a nezůstanou žádná záložní data. Tato operace se vztahuje na celý kontejner aplikace VM, nejen na jednu instanci nebo databázi.
az backup container unregister @vaultArgs --container-name $containerName `
--backup-management-type AzureWorkload
Pro dotazy na snapshot recovery-point a obnovovací konfigurace viz Obnovení snapshotů instance SQL.
Další kroky
- Zjistěte, jak zálohovat databázi SQL běžící na virtuálním počítači Azure pomocí webu Azure Portal.
- Zjistěte, jak spravovat zálohovanou databázi SQL běžící na virtuálním počítači Azure pomocí webu Azure Portal.