Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'interfaccia della riga di comando di Azure consente di creare e gestire le risorse di Azure dalla riga di comando o tramite script. Questo articolo descrive come gestire un database SQL di cui è stato eseguito il backup in una macchina virtuale di Azure usando l'interfaccia della riga di comando di Azure. È anche possibile eseguire queste azioni usando il portale di Azure.
Annotazioni
Se hai usato Esegui il backup di un database SQL in Azure utilizzando la CLI per eseguire il backup del tuo database SQL, allora stai usando le seguenti risorse:
- Un gruppo di risorse denominato SQLResourceGroup
- Una cassaforte denominata SQLVault
- Contenitore protetto denominato VMAppContainer;Calcolo;SQLResourceGroup;testSQLVM
- Database/elemento di cui è stato eseguito il backup denominato sqldatabase; mssqlserver; padrone
- Risorse nell'area westus2
L'interfaccia della riga di comando di Azure semplifica il processo di gestione di un database SQL in esecuzione in una macchina virtuale di Azure sottoposta a backup con Backup di Azure. Le sezioni seguenti descrivono ognuna delle operazioni di gestione.
Altre informazioni sulle configurazioni e gli scenari supportati per il backup SQL.
Monitorare i processi di backup e ripristino
Usare il comando az backup job list per monitorare i processi completati o attualmente in esecuzione (backup o ripristino). L'interfaccia della riga di comando consente anche di sospendere un processo in esecuzione o attendere il completamento di un processo.
az backup job list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--output table
L'output viene visualizzato come segue:
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
Modificare un criterio
Per modificare i criteri sottostanti la configurazione del backup SQL, usare il comando az backup policy set . Il parametro name in questo comando fa riferimento all'elemento di backup di cui si desidera modificare i criteri. In questo caso sostituire i criteri del database SQL sqldatabase; mssqlserver; master con un nuovo criterio newSQLPolicy. È possibile creare nuovi criteri usando il comando 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 \
L'output viene visualizzato come segue:
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
Creare un criterio di backup differenziale
Per creare un criterio di backup differenziale, usare il comando az backup policy create con i parametri seguenti:
- --backup-management-type: carico di lavoro di Azure.
- --workload-type: Banca dati SQL.
- --name: nome della politica.
- --policy: file JSON con i dettagli appropriati per la pianificazione e la conservazione.
- --resource-group: gruppo di risorse del vault.
- --vault-name: nome della cassaforte/
Esempio:
az backup policy create --resource-group SQLResourceGroup --vault-name SQLVault --name SQLPolicy --backup-management-type AzureWorkload --policy SQLPolicy.json --workload-type SQLDataBase
JSON di esempio (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"
}
Dopo aver creato correttamente i criteri, l'output del comando mostra il codice JSON dei criteri passato come parametro durante l'esecuzione del comando.
È possibile modificare la sezione seguente dei criteri per specificare la frequenza di backup e la conservazione necessarie per i backup differenziali.
Per esempio:
{
"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
}
}
Esempio:
Se si vogliono avere backup differenziali solo il sabato e conservarli per 60 giorni, eseguire le modifiche seguenti nei criteri:
- Aggiornare retentionDuration a un conteggio di 60 giorni.
- Specificare solo sabato come 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
}
}
Proteggere i nuovi database aggiunti a un'istanza di SQL
La registrazione di un'istanza SQL con una cassetta dei Servizi di ripristino individua automaticamente tutti i database presenti in questa istanza.
Tuttavia, se sono stati aggiunti nuovi database all'istanza di SQL in un secondo momento, usare il comando az backup protectable-item initialize . Questo comando individua i nuovi database aggiunti.
az backup protectable-item initialize --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--workload-type SQLDataBase
Usare quindi il cmdlet az backup protectable-item list per elencare tutti i database individuati nell'istanza di SQL. Questo elenco, tuttavia, esclude i database in cui è già stato configurato il backup. Dopo aver individuato il database di cui eseguire il backup, vedere Abilitare il backup nel database SQL.
az backup protectable-item list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--protectable-item-type SQLDataBase \
--output table
Il nuovo database di cui si vuole eseguire il backup viene visualizzato in questo elenco, che viene visualizzato come segue:
Name Protectable Item Type ParentName ServerName IsProtected
--------------------------- ---------------------- ------------ ----------- ------------
sqldatabase;mssqlserver;db1 SQLDataBase mssqlserver testSQLVM NotProtected
sqldatabase;mssqlserver;db2 SQLDataBase mssqlserver testSQLVM NotProtected
Interrompere la protezione per un database SQL
È possibile interrompere la protezione di un database SQL nei processi seguenti:
- Arrestare tutti i processi di backup futuri ed eliminare tutti i punti di recupero.
- Arrestare tutti i processi di backup futuri mantenendo tuttavia invariati i punti di ripristino.
Se si sceglie di lasciare i punti di ripristino, tenere presenti questi dettagli:
- Tutti i punti di ripristino rimangono intatti per sempre e tutte le operazioni di potatura si fermano con la protezione che conserva i dati.
- Verranno addebitati i costi per l'istanza protetta e lo spazio di archiviazione utilizzato.
- Se si elimina un'origine dati senza arrestare i backup, i nuovi backup avranno esito negativo.
I processi per arrestare la protezione sono descritti in dettaglio di seguito.
Arrestare la protezione conservando i dati
Per arrestare la protezione mantenendo i dati, usare il comando 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
L'output viene visualizzato come segue:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
Per verificare lo stato di questa operazione, usare il comando az backup job show .
Arrestare la protezione senza conservare i dati
Per arrestare la protezione senza conservare i dati, usare il comando 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
L'output viene visualizzato come segue:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
Per verificare lo stato di questa operazione, usare il comando az backup job show .
Riprendere la protezione
Quando si arresta la protezione per il database SQL con conservazione dei dati, è possibile riprendere la protezione in un secondo momento. Se non si conservano i dati di cui è stato eseguito il backup, non sarà possibile riprendere la protezione.
Per riprendere la protezione, usare il comando az backup protection resume .
az backup protection resume --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--policy-name SQLPolicy \
--output table
L'output viene visualizzato come segue:
Name ResourceGroup
------------------------------------ ---------------
b2a7f108-1020-4529-870f-6c4c43e2bb9e SQLResourceGroup
Per verificare lo stato di questa operazione, usare il comando az backup job show .
Passaggi successivi
- Informazioni su come eseguire il backup di un database SQL in esecuzione in una macchina virtuale di Azure usando il portale di Azure.
- Informazioni su come gestire un database SQL di cui è stato eseguito il backup in esecuzione in una macchina virtuale di Azure usando il portale di Azure.