Compartilhar via


Fazer backup de bancos de dados SQL em uma VM do Azure usando a CLI do Azure

A CLI do Azure é usada para criar e gerenciar recursos do Azure por meio 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á tem 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, você aprenderá a:

  • Criar um cofre dos Serviços de Recuperação
  • Registrar o SQL Server e descobrir bancos de dados nele
  • Habilitar o backup em um banco de dados SQL
  • Disparar um backup sob demanda

Confira os cenários com suporte no momento para SQL na VM do Azure.

Pré-requisitos

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 o trabalho de backup para um recurso protegido é executado, ele cria um ponto de recuperação no cofre dos Serviços de Recuperação. Você pode usar um desses 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 da VM que você deseja proteger. Saiba como criar uma VM do Windows e uma VM Linux usando a CLI do Azure.

Para este artigo, vamos usar:

  • Um grupo de recursos denominado SQLResourceGroup
  • Uma VM chamada testSQLVM
  • Recursos no local westus2.

Execute o comando a seguir para criar um cofre chamado SQLVault.

az backup vault create --resource-group SQLResourceGroup \
    --name SQLVault \
    --location westus2

Por padrão, o cofre dos Serviços de Recuperação é definido para o armazenamento com redundância geográfica. O armazenamento com redundância geográfica verifica se os dados de backup são replicados para uma região secundária do Azure mesmo se estão 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 cofre 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 com o 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

Observação

Se a VM não estiver presente no mesmo grupo de recursos do cofre, o SQLResourceGroup usará o grupo de recursos em que o cofre foi criado.

O registro da instância do SQL descobre automaticamente todos os seus bancos de dados atuais. No entanto, para descobrir novos bancos de dados que possam ser adicionados no futuro, confira a seção Descobrindo novos bancos de dados adicionados à instância registrada do SQL Server.

Use o comando az backup container list para verificar se a instância SQL foi registrada com êxito com seu cofre. A resposta aparece como:

Name                                                    Friendly Name    Resource Group        Type           Registration Status
------------------------------------------------------  --------------   --------------------  ---------      ----------------------
VMAppContainer;Compute;SQLResourceGroup;testSQLVM   	testSQLVM        SQLResourceGroup  		AzureWorkload  Registered

Observação

A coluna nome 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 dispará-los. Por exemplo, VMAppContainer;Compute;SQLResourceGroup;testSQLVM.

Habilitar o backup no banco de dados SQL

O comando az backup protectable-item list lista todos os bancos de dados descobertos na instância do 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 terá a seguinte aparência:

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 banco de dados sqldatabase;mssqlserver;master.

Para configurar e proteger backups em um banco de dados, um de cada vez, usamos 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ê poderá usar o mesmo comando se tiver um Grupo de Disponibilidade do SQL Always On e quiser identificar a fonte de dados que pode ser protegida dentro do grupo de disponibilidade. Aqui, o tipo de item que pode ser protegido é SQLAG.

Para verificar se a configuração de backup acima está concluída, use o comando az backup job list. A saída é exibida 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) que foram executados ou estão atualmente em execução no banco de dados protegido, além de outras operações como registrar, configurar backup e excluir dados de backup.

Observação

Backup do Azure ajuste automático para alterações de horário de verão ao fazer o banco de dados SQL em execução em uma VM do Azure.

Modifique a política manualmente, se necessário.

Habilitar a proteção automática

Para a configuração de backup contínuo, todos os bancos de dados adicionados no futuro podem ser protegidos automaticamente com 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 nível de 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

Disparar um backup sob demanda

Para disparar um backup sob demanda, use o comando az backup protection backup-now.

Observação

O período de retenção desse backup é determinado pelo tipo de backup sob demanda que você executou.

  • A opção completo sob demanda retém backups por no mínimo 45 dias e no máximo 99 anos.
  • A opção Completo somente para cópia sob demanda aceita qualquer valor para retenção.
  • A opção diferencial sob demanda retém o backup de acordo com a retenção dos diferenciais agendados definidos na política.
  • O log sob demanda retém backups de acordo com a retenção de logs agendados definidos 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 é exibida 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óximas etapas