Fazer backup de bancos de dados SQL na VM do Azure usando a CLI do Azure
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 fazer backup de um banco de dados SQL na VM do Azure e disparar backups sob demanda usando a CLI do Azure. Você também pode executar essas ações usando o portal do Azure.
Este artigo pressupõe que você já tenha um banco de dados SQL instalado em uma VM do Azure. (Você também pode criar uma VM usando a CLI do Azure).
Neste artigo, vai aprender a:
- Criar um cofre dos Serviços de Recuperação
- Registre o servidor SQL e descubra o(s) banco(s) de dados nele
- Habilitar backup em um banco de dados SQL
- Acionar um backup sob demanda
Consulte os cenários atualmente suportados para SQL na VM do Azure.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
Criar um cofre dos Serviços de Recuperação
Um cofre dos Serviços de Recuperação é um contêiner lógico que armazena os dados de backup para cada recurso protegido, como VMs do Azure ou cargas de trabalho em execução em VMs do Azure - por exemplo, bancos de dados SQL ou HANA. Quando a tarefa de cópia de segurança de um recurso protegido é executada, cria um ponto de recuperação dentro do cofre dos Serviços de Recuperação. Em seguida, pode utilizar um destes pontos de recuperação para restaurar dados para um determinado ponto no tempo.
Crie um cofre dos Serviços de Recuperação com o comando az backup vault create . Use o grupo de recursos e o local como o da VM que você deseja proteger. Saiba como criar uma VM do Windows e uma VM do Linux usando a CLI do Azure.
Para este artigo, vamos usar:
- Um grupo de recursos chamado SQLResourceGroup
- Uma VM chamada testSQLVM
- Recursos na localização westus2 .
Execute o seguinte comando para criar um cofre chamado SQLVault.
az backup vault create --resource-group SQLResourceGroup \
--name SQLVault \
--location westus2
Por predefinição, o cofre dos Serviços de Recuperação está definido para Armazenamento georredundante. O armazenamento com redundância geográfica garante que seus dados de backup sejam replicados para uma região secundária do Azure, mesmo que isso esteja a centenas de quilômetros de distância da região primária. Se a configuração de redundância de armazenamento precisar ser modificada, use o comando az backup vault backup-properties set .
az backup vault backup-properties set \
--name SQLVault \
--resource-group SQLResourceGroup \
--backup-storage-redundancy "LocallyRedundant/GeoRedundant"
Para verificar se o vault foi criado com êxito, use o comando az backup vault list . A resposta aparece como:
Location Name ResourceGroup
--------- --------------- -------------
westus2 SQLVault SQLResourceGroup
Registrar e proteger o SQL Server
Para registrar o SQL Server no cofre dos Serviços de Recuperação, use o comando az backup container register . VMResourceId é a ID de recurso da VM que você criou para instalar o SQL.
az backup container register --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--backup-management-type AzureWorkload \
--resource-id VMResourceId
Nota
Se a VM não estiver presente no mesmo grupo de recursos que o vault, SQLResourceGroup usará o grupo de recursos onde o vault foi criado.
O registro do servidor SQL descobre automaticamente todos os seus bancos de dados atuais. No entanto, para descobrir novos bancos de dados que possam ser adicionados no futuro, consulte a seção Descobrindo novos bancos de dados adicionados ao SQL Server registrado.
Use o comando az backup container list para verificar se a instância SQL foi registrada com êxito no seu cofre. A resposta aparece como:
Name Friendly Name Resource Group Type Registration Status
------------------------------------------------------ -------------- -------------------- --------- ----------------------
VMAppContainer;Compute;SQLResourceGroup;testSQLVM testSQLVM SQLResourceGroup AzureWorkload Registered
Nota
O nome da coluna na saída acima refere-se ao nome do contêiner. Esse nome de contêiner é usado nas próximas seções para habilitar backups e acioná-los. Por exemplo, VMAppContainer; Computação; SQLResourceGroup; testSQLVM.
Habilitar backup no banco de dados SQL
O comando az backup protectable-item list lista todos os bancos de dados descobertos na instância SQL que você registrou na etapa anterior.
az backup protectable-item list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--backup-management-type AzureWorkload \
--protectable-item-type SQLDataBase
--output table
Você deve encontrar o banco de dados nesta lista do qual deseja fazer backup, que aparece como:
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
Agora, configure o backup para o sqldatabase; mssqlserver; banco de dados mestre .
Para configurar e proteger backups em um banco de dados, um de cada vez, use o comando az backup protection enable-for-azurewl . Forneça o nome da política que você deseja usar. Para criar uma política usando a CLI, use o comando az backup policy create . Para este artigo, usamos a política 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
Você pode usar o mesmo comando, se tiver um Grupo de Disponibilidade Always On do SQL e quiser identificar a fonte de dados protegível dentro do grupo de disponibilidade. Aqui, o tipo de item protegível é SQLAG.
Para verificar se a configuração de backup acima está concluída, use o comando az backup job list . A saída aparece como:
Name Operation Status Item Name Start Time UTC
------------------------------------ --------------- --------- ---------- -------------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 ConfigureBackup Completed master 2019-12-03T03:09:210831+00:00
O comando az backup job list lista todos os trabalhos de backup (agendados ou sob demanda) executados ou atualmente em execução no banco de dados protegido, além de outras operações, como registrar, configurar backup e excluir dados de backup.
Nota
O Backup do Azure não se ajusta automaticamente para alterações de horário de verão ao fazer backup de um banco de dados SQL em execução em uma VM do Azure.
Modifique a política manualmente conforme necessário.
Ativar a proteção automática
Para uma configuração de backup perfeita, todos os bancos de dados adicionados no futuro podem ser protegidos automaticamente com uma determinada política. Para habilitar a proteção automática, use o comando az backup protection auto-enable-for-azurewl .
Como a instrução é fazer backup de todos os bancos de dados futuros, a operação é feita em um nível 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
Acionar um backup sob demanda
Para acionar um backup sob demanda, use o comando az backup protection backup-now .
Nota
O período de retenção desse backup é determinado pelo tipo de backup sob demanda executado.
- O On-demand Full retém backups por um período mínimo de 45 dias e máximo de 99 anos.
- A cópia sob demanda somente completa aceita qualquer valor para retenção.
- O diferencial sob demanda retém o backup de acordo com a retenção de diferenciais agendados definidos na política.
- O log sob demanda retém backups de acordo com a retenção de logs agendados definida na política.
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
A saída aparece como:
Name ResourceGroup
------------------------------------ -------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 sqlResourceGroup
A resposta fornece o nome do trabalho. Você pode usar esse nome de trabalho para acompanhar o status do trabalho usando o comando az backup job show .
Próximos passos
- Saiba como restaurar um banco de dados SQL na VM do Azure usando a CLI.
- Saiba como fazer backup de um banco de dados SQL em execução na VM do Azure usando o portal do Azure.