Sobre o Backup do SQL Server nas VMs do Azure

Backup do Azure oferece uma solução especializada baseada em fluxo para fazer backup de SQL Server em execução em VMs (Máquinas Virtuais do Azure). Essa solução está alinhada com os benefícios do Backup do Azure de backup de infraestrutura zero, retenção de longo prazo e gerenciamento central. Além disso, ela fornece as seguintes vantagens especificamente para o SQL Server:

  • Backups com reconhecimento de carga de trabalho que dão suporte a todos os tipos de backup: completo, diferencial e log
  • RPO (objetivo de ponto de recuperação) de 15 minutos com backups de log frequentes
  • Recuperação pontual até um segundo
  • Backup e restauração de níveis de banco de dados individuais

Para ver os cenários de backup e restauração aos quais damos suporte hoje, confira a matriz de suporte. Para perguntas comuns, consulte as perguntas frequentes.

Backup de instantâneo para instâncias SQL em Azure VM (versão prévia)

Backup do Azure fornece uma solução de backup sql baseada em instantâneo que melhora o desempenho de bancos de dados grandes. Você pode usar os instantâneos de disco para realizar restaurações rápidas e backups frequentes do log a fim de minimizar a perda de dados, ajudando a alcançar um menor RTO (Objetivo de Tempo de Recuperação) e um RPO (Objetivo de Ponto de Recuperação) melhor.

Observação

O backup por instantâneo para instâncias do SQL Server está disponível em versão prévia. Os backups baseados em snapshot permitem proteger grandes bancos de dados com desempenho aprimorado e realizar restaurações mais rápidas a partir da camada de recuperação instantânea.

Os backups de instantâneo fornecem os seguintes benefícios ao fazer backup de bancos de dados grandes:

  • Instantâneo no nível da instância: cria os backups der instantâneos no nível da instância SQL e permite selecionar vários bancos de dados em uma única operação. Restaure toda a instância ou bancos de dados individuais, conforme necessário.

  • Impacto mínimo no servidor de origem: o Backup do Azure coloca brevemente o banco de dados em estado quiescente para capturar um snapshot consistente com o aplicativo. Enquanto o banco de dados é colocado em quiescência por apenas alguns segundos, a criação do snapshot e sua disponibilização na camada operacional são concluídas em poucos minutos. Ao contrário dos backups de streaming, os recursos do computador de origem não são consumidos por uma longa duração.

  • Econômico: otimiza o custo de armazenamento com instantâneos incrementais.

  • RTO aprimorado: usa restaurações mais rápidas da camada instantânea/operacional.

  • RPO baixo: combina os backups de log com instantâneos para obter um RPO mais baixo e habilitar as restaurações pontuais.

Saiba mais sobre os cenários com suporte e as limitações do backup do SQL usando-se instantâneos na matriz de suporte. Para fazer backup do instantâneo da instância do SQL Server em uma VM do Azure usando o portal do Azure, consulte este artigo.

Processo de backup para SQL Server banco de dados

Essa solução usa as APIs nativas do SQL para fazer backups de seus bancos de dados SQL.

  • Depois de especificar a VM do SQL Server que você deseja proteger e consultar os bancos de dados nela, o serviço de Backup do Azure instala uma extensão de backup de carga de trabalho na VM com o nome AzureBackupWindowsWorkload extension.

  • Essa extensão consiste em um coordenador e um plugin do SQL. Embora o coordenador seja responsável por disparar fluxos de trabalho para várias operações, como configurar backup, backup e restauração, o plug-in é responsável pelo fluxo de dados real.

  • Para poder descobrir bancos de dados nesta VM, o Backup do Azure cria a conta NT SERVICE\AzureWLBackupPluginSvc. Essa conta é usada para backup e restauração e exige permissões de sysadmin do SQL. A conta NT SERVICE\AzureWLBackupPluginSvc é uma conta de serviço virtual e, portanto, não exige nenhum gerenciamento de senha. O Backup do Azure usa a conta NT AUTHORITY\SYSTEM para descoberta/consulta de banco de dados. Portanto, essa conta precisa ser um logon público no SQL. Caso não tenha criado a VM do SQL Server no Azure Marketplace, você poderá receber o erro UserErrorSQLNoSysadminMembership. Se a mensagem de erro for exibida, siga estas instruções.

  • Depois que o gatilho configurar a proteção nos bancos de dados selecionados, o serviço de backup configura o coordenador com as agendas de backup e outros detalhes da política, que aumenta os caches localmente na VM.

  • No horário agendado, o coordenador se comunica com o plug-in e começa a transmitir os dados de backup do SQL Server usando VDI (Virtual Device Interface).

  • O plug-in envia os dados diretamente para o cofre dos Serviços de Recuperação, eliminando a necessidade de uma localização de preparo. O serviço Backup do Azure criptografa e armazena os dados em contas de armazenamento.

  • Quando a transferência de dados for concluída, o coordenador confirma com o serviço de backup.

    Arquitetura de backup SQL

Processo de backup para snapshots da instância do SQL Server

O Backup do Azure usa snapshots incrementais de discos gerenciados para proteger bancos de dados SQL em VMs do Azure. A política de backup controla a criação de instantâneo, a retenção e registra em log o comportamento do backup para permitir as restaurações rápidas e a recuperação pontual.

O fluxo de backup e restauração descreve uma sequência lógica de operações de ponta a ponta executada por Backup do Azure que incluem as seguintes operações:

  • Cria instantâneos incrementais de disco gerenciado com base na política de backup definida pelo usuário. Atualmente, o serviço Backup do Azure dá suporte a um instantâneo a cada 6 horas ou mais. Você pode configurar backups de log para cada 15 minutos ou mais.

  • Realiza os backups de instantâneo no nível da instância do SQL. Você pode selecionar até 12 bancos de dados por operação de instantâneo.

  • Captura um instantâneo consistente com aplicativos em todos os bancos de dados selecionados, encaixando os discos subjacentes do conjunto combinado de bancos de dados.

  • Retém instantâneos na assinatura Azure em um grupo de recursos especificado por uma duração definida pelo usuário (até 7 dias). Em seguida, o Backup do Azure move os dados para o cofre dos Serviços de Recuperação como um backup armazenado no cofre para fins de retenção de longo prazo, com base na política configurada.

  • Transmite os backups de log no nível do banco de dados para o cofre. Durante a restauração, o serviço restaura o instantâneo em uma VM alternativa e aplica os backups de log para obter a recuperação pontual.

Saiba como fazer backup do instantâneo da instância do SQL Server em uma VM do Azure usando o portal do Azure (versão prévia).

Pré-requisitos para backup de SQL Server

Antes de iniciar o backup SQL Server, examine os seguintes pré-requisitos:

  1. Garanta que você tenha uma Instância do SQL Server em execução no Azure. Você pode criar uma Instância do SQL Server rapidamente no marketplace.
  2. Examine as considerações sobre recursos e o suporte de cenários.
  3. Examine as perguntas comuns sobre esse cenário.

Definir permissões da VM

Quando você executa a descoberta em um SQL Server, Backup do Azure executa as seguintes ações:

  • Adiciona a extensão AzureBackupWindowsWorkload.
  • Cria uma conta NT SERVICE\AzureWLBackupPluginSvc para descobrir bancos de dados na máquina virtual. Essa conta é usada para backup e restauração e exige permissões de sysadmin do SQL.
  • Descobre os bancos de dados que estão em execução em uma VM, o Backup do Azure usa a conta NT AUTHORITY\SYSTEM. Essa conta deve estar conectada publicamente no SQL.

Se você não criou a VM do SQL Server no Azure Marketplace ou se está usando o SQL 2008 ou 2008 R2, talvez receba o erro UserErrorSQLNoSysadminMembership.

Para conceder permissões para SQL 2008 e 2008 R2 em execução no Windows 2008 R2, consulte this section.

Para todas as outras versões, atribua as permissões usando as seguintes etapas:

  1. Use uma conta com permissões SQL Server sysadmin para entrar no SQL Server Management Studio (SSMS). A menos que você precise de permissões de acesso especiais, a autenticação do Windows deverá funcionar.

  2. No SQL Server, abra a pasta Security/Logins.

    Abra a pasta Segurança/Logons para ver as contas

  3. Clique com o botão direito do mouse na pasta Logons e selecione Novo Logon. Em Logon – Novo, selecione Pesquisar.

    Na caixa de diálogo Logon – Novo, selecione Pesquisar

  4. A conta de serviço virtual do Windows NT SERVICE\AzureWLBackupPluginSvc foi criada durante a fase de descoberta do SQL e do registro da máquina virtual. Insira o nome da conta, conforme mostrado em Inserir o nome do objeto a ser selecionado. Selecione Verificar Nomes para resolver o nome. Selecione OK.

    Selecione Verificar Nomes para resolver o nome de serviço desconhecido

  5. Em Funções de Servidor, verifique se a função sysadmin está selecionada. Selecione OK. As permissões necessárias agora devem existir.

    Verifique se a função de servidor sysadmin está selecionada

    Se a instância do SQL Server fizer parte de um AG (Grupo de DisponibilidadeAlways-On), verifique se a conta NT AUTHORITY\SYSTEM tem a permissão VIEW SERVER STATE habilitada.

    A captura de tela mostra como verificar a permissão em uma instância do SQL Server selecionada para backup.

  6. Agora, associe o banco de dados ao cofre dos Serviços de Recuperação. No portal do Azure, na lista Servidores Protegidos, clique com o botão direito do mouse no servidor que está em um estado de erro >Redescobrir BDs.

    Verifique se o servidor tem as permissões apropriadas

  7. Verifique o progresso na área Notificações. Quando os bancos de dados selecionados são descobertos, é exibida uma mensagem de êxito.

    Mensagem de êxito na implantação

Observação

Se o SQL Server tiver várias instâncias do SQL Server instaladas, você precisará adicionar a permissão sysadmin para a conta NT Service\AzureWLBackupPluginSvc em todas as instâncias do SQL.

Atribuir permissões de sysadmin do SQL para SQL 2008 e SQL 2008 R2

Para adicionar os logins NT AUTHORITY\SYSTEM e NT Service\AzureWLBackupPluginSvc à instância do SQL Server, siga estas etapas:

  1. Vá para a Instância SQL Server no Pesquisador de Objetos.

  2. Vá para Segurança>Logins.

  3. Clique com o botão direito do mouse em Logins e selecione Novo LogonNovo Logon usando o SSMS

  4. Vá para a guia Geral e insira NT AUTHORITY\SYSTEM como o Nome de Logon.

    Nome de logon para o SSMS

  5. Vá para a guia Funções do Servidor e escolha funções públicas e sysadmin .

    Como escolher funções no SSMS

  6. Acesse Status, selecione Conceder para a Permissão para se conectar ao mecanismo de banco de dados e selecione Habilitado para Logon.

    Conceder permissões no SSMS

  7. Selecione OK.

  8. Para adicionar o login NT Service\AzureWLBackupPluginSvc à instância do SQL Server, repita as etapas 1-7.

    Se o logon já tiver sido feito, verifique se tem a função de servidor sysadmin e, em Status, se tem a opção Conceder para a Permissão para se conectar ao mecanismo de banco de dados e Logon como Habilitado.

  9. Depois de conceder permissão, redescubra os bancos de dados no portal do Azure acessando o cofre dos Serviços de Recuperação>Gerenciar>Infraestrutura de Backup>Carga de trabalho na VM do Azure.

    Redescobrir bancos de dados no portal do Azure

Como alternativa, você pode automatizar a atribuição de permissão executando os cmdlets a seguir no modo de administração.

Observação

Por padrão, o nome da instância é definido como MSSQLSERVER. Se necessário, altere o argumento do nome da instância no script.

param(
    [Parameter(Mandatory=$false)]
    [string] $InstanceName = "MSSQLSERVER"
)
if ($InstanceName -eq "MSSQLSERVER")
{
    $fullInstance = $env:COMPUTERNAME   # In case it's the default SQL Server Instance
}
else
{
    $fullInstance = $env:COMPUTERNAME + "\" + $InstanceName   # In case of named instance
}
try
{
    sqlcmd.exe -S $fullInstance -Q "sp_addsrvrolemember 'NT Service\AzureWLBackupPluginSvc', 'sysadmin'" # Adds login with sysadmin permission if already not available
}
catch
{
    Write-Host "An error occurred:"
    Write-Host $_.Exception|format-list -force
}
try
{
    sqlcmd.exe -S $fullInstance -Q "sp_addsrvrolemember 'NT AUTHORITY\SYSTEM', 'sysadmin'" # Adds login with sysadmin permission if already not available
}
catch
{
    Write-Host "An error occurred:"
    Write-Host $_.Exception|format-list -force
}

Preços do backup de instantâneo de instâncias de SQL Server em VMs Azure

O backup do SQL em um instantâneo de VM do Azure gera as seguintes cobranças:

  • Os backups de instantâneo armazenados em um cofre dos Serviços de Recuperação têm o preço definido com base nos preços do Backup do Azure.

  • Além do valor da Instância Protegida e do custo de armazenamento do cofre, o Backup do Azure incorre em cobranças extras para o armazenamento de instantâneos na camada operacional.

  • Os instantâneos de disco gerenciado geram cobranças com base nos preços de instantâneos de Discos Gerenciados durante o período em que forem mantidos em sua assinatura.

Próximas etapas