Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A CLI do Azure é usada para criar e gerenciar recursos do Azure a partir da Linha de Comando ou por meio de scripts. Este artigo descreve como gerenciar um banco de dados SQL de backup na VM do Azure usando a CLI do Azure. Você também pode executar essas ações usando o portal do Azure.
Observação
Se tiver utilizado Fazer backup de um banco de dados SQL no Azure usando a CLI para fazer backup do banco de dados SQL, então estará a utilizar os seguintes recursos:
- Um grupo de recursos chamado SQLResourceGroup
- Um cofre chamado SQLVault
- Contêiner protegido chamado VMAppContainer;Compute;SQLResourceGroup;testSQLVM
- Banco de dados/item de backup chamado sqldatabase; mssqlserver; mestre
- Recursos na região westus2
A CLI do Azure facilita o processo de gerenciamento de um banco de dados SQL em execução em uma VM do Azure cujo backup é feito usando o Backup do Azure. As seções a seguir descrevem cada uma das operações de gerenciamento.
Saiba mais sobre as configurações e cenários suportados para o backup SQL.
Monitorar tarefas de backup e restauração
Use o comando az backup job list para monitorar trabalhos concluídos ou em execução (backup ou restauração). A CLI também permite que você suspenda um trabalho em execução no momento ou aguarde até que um trabalho seja concluído.
az backup job list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--output table
A saída aparece como:
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
Alterar uma política
Para alterar a política subjacente à configuração de backup do SQL, use o comando az backup policy set . O parâmetro name neste comando refere-se ao item de backup cuja política você deseja alterar. Aqui, substitua a política do banco de dados SQL sqldatabase; mssqlserver; master com uma nova política newSQLPolicy. Você pode criar novas políticas usando o 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 \
A saída aparece como:
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
Criar uma política de backup diferencial
Para criar uma política de backup diferencial, use o comando az backup policy create com os seguintes parâmetros:
- --backup-management-type: Carga de trabalho do Azure.
- --workload-type: Base de Dados SQL.
- --name: Nome da política.
- --policy: arquivo JSON com detalhes apropriados para agendamento e retenção.
- --resource-group: Grupo de recursos do vault.
- --vault-name: Nome do cofre/
Exemplo:
az backup policy create --resource-group SQLResourceGroup --vault-name SQLVault --name SQLPolicy --backup-management-type AzureWorkload --policy SQLPolicy.json --workload-type SQLDataBase
Exemplo de 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"
}
Depois que a política é criada com êxito, a saída do comando mostra o JSON de política que você passou como parâmetro durante a execução do comando.
Você pode modificar a seção a seguir da política para especificar a frequência e a retenção de backup necessárias para backups diferenciais.
Por exemplo:
{
"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
}
}
Exemplo:
Se você quiser ter backups diferenciais apenas no sábado e retê-los por 60 dias, faça as seguintes alterações na política:
- Atualize a duração de retenção para 60 dias.
- Especifique apenas sábado como 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
}
}
Proteger os novos bancos de dados adicionados a uma instância SQL
O registro de uma instância SQL com um cofre dos Serviços de Recuperação descobre automaticamente todos os bancos de dados nessa instância.
No entanto, se você tiver adicionado novos bancos de dados à instância SQL posteriormente, use o comando az backup protectable-item initialize . Este comando descobre os novos bancos de dados adicionados.
az backup protectable-item initialize --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--workload-type SQLDataBase
Em seguida, use o cmdlet az backup protectable-item list para listar todas as bases de dados que foram descobertas na sua instância SQL. Essa lista, no entanto, exclui os bancos de dados nos quais o backup já foi configurado. Depois que o banco de dados do qual será feito backup for descoberto, consulte Habilitar backup no banco de dados SQL.
az backup protectable-item list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--protectable-item-type SQLDataBase \
--output table
O novo banco de dados do qual você deseja fazer backup é exibido nesta lista, que aparece como:
Name Protectable Item Type ParentName ServerName IsProtected
--------------------------- ---------------------- ------------ ----------- ------------
sqldatabase;mssqlserver;db1 SQLDataBase mssqlserver testSQLVM NotProtected
sqldatabase;mssqlserver;db2 SQLDataBase mssqlserver testSQLVM NotProtected
Parar a proteção para um banco de dados SQL
Você pode parar de proteger um banco de dados SQL nos seguintes processos:
- Pare todos os trabalhos de backup futuros e exclua todos os pontos de recuperação.
- Pare todos os trabalhos de backup futuros e deixe os pontos de recuperação intactos.
Se você optar por deixar os pontos de recuperação, tenha em mente estes detalhes:
- Todos os pontos de recuperação permanecem intactos para sempre e todas as podas param na proteção de parada com retenção de dados.
- Você será cobrado pela instância protegida e pelo armazenamento consumido.
- Se você excluir uma fonte de dados sem interromper os backups, os novos backups falharão.
Os processos para interromper a proteção são detalhados abaixo.
Parar a proteção retendo dados
Para interromper a proteção com a retenção de dados, use o 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
A saída aparece como:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
Para verificar o status dessa operação, use o comando az backup job show .
Pare a proteção sem reter dados
Para interromper a proteção sem reter dados, use o 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
A saída aparece como:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
Para verificar o status dessa operação, use o comando az backup job show .
Proteção de retomada
Quando se interrompe a proteção do banco de dados SQL mantendo os dados, pode retomar a proteção mais tarde. Se você não retiver os dados de backup, não poderá retomar a proteção.
Para retomar a proteção, use o 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
A saída aparece como:
Name ResourceGroup
------------------------------------ ---------------
b2a7f108-1020-4529-870f-6c4c43e2bb9e SQLResourceGroup
Para verificar o status dessa operação, use o comando az backup job show .
Próximos passos
- Saiba como fazer backup de um banco de dados SQL em execução na VM do Azure usando o portal do Azure.
- Saiba como gerenciar um banco de dados SQL de backup em execução na VM do Azure usando o portal do Azure.