Sobre a Cópia de Segurança do SQL Server em VMs do Azure

Azure Backup oferece uma solução especializada baseada em fluxos para fazer backup de SQL Server a correr em Máquinas Virtuais do Azure (VMs). Esta solução está alinhada com os benefícios do Backup do Azure, como o backup sem infraestrutura, retenção a longo prazo e gestão centralizada. Além disso, ele fornece as seguintes vantagens especificamente para o SQL Server:

  • Backups com reconhecimento de carga de trabalho que suportam todos os tipos de backup - completos, diferenciais e de log
  • RPO (Recovery Point Objetive, objetivo de ponto de recuperação) de 15 minutos com backups de log frequentes
  • Recuperação num ponto no tempo até ao segundo
  • Backup e restauro ao nível de bases de dados individuais

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

Cópia de segurança por instantâneo para instâncias do SQL na VM do Azure (pré-visualização)

O Azure Backup fornece uma solução de backup SQL baseada em snapshots que melhora o desempenho para grandes bases de dados. Pode usar snapshots de disco para restaurações rápidas e backups frequentes de registos para minimizar a perda de dados, ajudando a alcançar um Objetivo de Tempo de Recuperação (RTO) mais baixo e um Objetivo de Ponto de Recuperação (RPO) melhorado.

Nota

O Snapshot Backup para instâncias do SQL Server está disponível em pré-visualização. Backups baseados em snapshots permitem-lhe proteger grandes bases de dados com melhor desempenho e obter restauros mais rápidos a partir do nível de recuperação instantânea.

As cópias de segurança instantâneas oferecem os seguintes benefícios ao fazer cópias de segurança de grandes bases de dados:

  • Snapshot ao nível da instância: Cria backups snapshot ao nível da instância SQL e seleciona múltiplas bases de dados numa única operação. Restaurar toda a instância ou bases de dados individuais conforme necessário.

  • Impacto mínimo no servidor de origem: Azure Backup coloca brevemente a base de dados em pausa para capturar um instantâneo consistente com a aplicação. Embora a base de dados esteja inativa apenas por alguns segundos, a criação e disponibilidade de snapshots no nível operacional terminam em minutos. Ao contrário dos backups em streaming, os recursos da máquina de origem não são consumidos por longos períodos.

  • Custo-efetivo: Otimiza o custo de armazenamento com snapshots incrementais.

  • RTO otimizado: Utiliza restauros mais rápidos a partir da camada instantânea/operacional.

  • RPO baixo: Combina backups de registos com snapshots para alcançar um RPO mais baixo e permitir restaurações pontuais.

Aprenda sobre os cenários suportados e as limitações para backup SQL usando snapshots na matriz de suporte. Para efetuar uma cópia de segurança do instantâneo de uma instância do SQL Server numa VM do Azure através do portal do Azure, consulte este artigo.

Processo de backup para uma base de dados SQL Server

Esta solução utiliza APIs nativas SQL para fazer cópias de segurança das suas bases de dados SQL.

  • Depois de especificar a VM SQL Server que quer proteger e consultar as bases de dados nela, Azure Backup serviço instala uma extensão de backup de carga de trabalho na VM chamada extensão AzureBackupWindowsWorkload.

  • Esta extensão consiste em um coordenador e um plug-in SQL. Enquanto o coordenador é responsável por desencadear fluxos de trabalho para várias operações como configurar backup, backup e restauro, o plugin é responsável pelo fluxo real de dados.

  • Para poder descobrir bancos de dados nessa VM, o Backup do Azure cria a conta NT SERVICE\AzureWLBackupPluginSvc. Essa conta é usada para backup e restauração e requer permissões de administrador de sistema SQL. A NT SERVICE\AzureWLBackupPluginSvc conta é uma Conta de Serviço Virtual e, portanto, não requer nenhum gerenciamento de senha. O Backup do Azure usa a NT AUTHORITY\SYSTEM conta para descoberta/consulta de banco de dados, portanto, essa conta precisa ser um logon público no SQL. Se você não criou a VM do SQL Server a partir do Azure Marketplace, poderá receber um erro UserErrorSQLNoSysadminMembership. Se a mensagem de erro aparecer, siga estas instruções.

  • Depois de acionar a proteção de configuraçã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 a extensão armazena em cache 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 servidor SQL usando VDI (Virtual Device Interface).

  • O plug-in envia os dados diretamente para o cofre dos Serviços de Recuperação, eliminando assim a necessidade de um local de preparação. O serviço Azure Backup encripta e armazena os dados em contas de armazenamento.

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

    Arquitetura do Backup SQL

Processo de backup para instantâneos de instâncias do SQL Server

O Azure Backup utiliza snapshots incrementais de disco gerido para proteger bases de dados SQL em VMs do Azure. A política de backup controla a criação e retenção de snapshots e o comportamento de backup dos logs para permitir restaurações rápidas e recuperação pontual no tempo.

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

  • Cria snapshots incrementais de discos geridos com base na política de backup definida pelo utilizador. Atualmente, o serviço Azure Backup suporta um snapshot a cada 6 horas ou mais. Pode configurar cópias de segurança dos registos com um intervalo de 15 minutos ou superior.

  • Efetua cópias de segurança de instantâneo ao nível da instância do SQL. Pode selecionar até 12 bases de dados por operação de snapshot.

  • Captura um instantâneo consistente com a aplicação em todas as bases de dados selecionadas, encaixando os discos subjacentes para o conjunto combinado de bases de dados.

  • Mantém instantâneos na subscrição do Azure dentro de um grupo de recursos especificado durante uma duração definida pelo utilizador (até 7 dias). O Azure Backup transfere então os dados para o cofre de Serviços de Recuperação como backup em cofre para retenção a longo prazo, com base na política configurada.

  • Transmite cópias de segurança do registo de transações ao nível da base de dados para o cofre. Durante a restauração, o serviço restaura o snapshot para uma VM alternativa e aplica backups de registos para conseguir uma recuperação pontual no tempo.

Saiba como criar uma cópia de segurança de um instantâneo da instância do SQL Server numa VM do Azure através do portal do Azure (pré-visualização).

Pré-requisitos para backup do SQL Server

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

  1. Verifique se você tem uma instância do SQL Server em execução no Azure. Você pode criar rapidamente uma instância do SQL Server no mercado.
  2. Analise as considerações de recursos e o suporte de cenários.
  3. Analise as perguntas comuns sobre esse cenário.

Definir permissões da VM

Quando executa a descoberta num SQL Server, o Azure Backup 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 requer permissões de administrador de sistema SQL.
  • Descobre bancos de dados que estão sendo executados em uma VM, o Backup do Azure usa a conta NT AUTHORITY\SYSTEM. Esta conta deve ser uma entrada pública no SQL.

Se você não criou a VM do SQL Server no Azure Marketplace ou se estiver no SQL 2008 ou 2008 R2, poderá receber um erro UserErrorSQLNoSysadminMembership .

Para conceder permissões a SQL 2008 e 2008 R2 a correr em Windows 2008 R2, veja esta secção.

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

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

  2. No SQL Server, abra a pasta Segurança/Inícios de sessão.

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

  3. Clique com o botão direito do mouse na pasta Logins e selecione Novo login. Em Login - Novo, selecione Pesquisar.

    Na caixa de diálogo Login - Novo, selecione Pesquisar

  4. A conta de serviço virtual do Windows NT SERVICE\AzureWLBackupPluginSvc foi criada durante a fase de registo da máquina virtual e descoberta SQL. Digite o nome da conta, conforme mostrado em Digite 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, certifique-se de que a função de 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 Grupo de Disponibilidade deAlways-On (AG), verifique se a conta NT AUTHORITY\SYSTEM tem a permissão VIEW SERVER STATE habilitada.

    A captura de ecrã mostra como verificar permissão numa 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 DBs.

    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 encontrados, uma mensagem de êxito é exibida.

    Mensagem de sucesso da implantação

Nota

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

Atribuir permissões de administrador de sistemas SQL para SQL 2008 e SQL 2008 R2

Para adicionar NT AUTHORITY\SYSTEM e NT Service\AzureWLBackupPluginSvc na Instância SQL Server, siga estes passos:

  1. Vá para a instância do SQL Server no Explorador de Objetos.

  2. Aceda a Segurança>Logins.

  3. Clique com o botão direito nos Logins e selecione Novo LoginNovo login usando SSMS

  4. Vá ao separador Geral e introduza NT AUTHORITY\SYSTEM como nome de início de sessão.

    Nome de início de sessão para o SSMS

  5. Aceda ao separador Funções do Servidor e selecione as funções public e sysadmin.

    Escolher funções no SSMS

  6. Vá a Estado, selecione Conceder para a Permissão para ligar ao motor da base de dados e, em seguida, selecione Ativado para Início de sessão.

    Conceder permissões no SSMS

  7. Selecione OK.

  8. Para adicionar o serviço NT\AzureWLBackupPluginSvc iniciar sessão na instância SQL Server, repetir os passos 1-7.

    Se o login já existir, certifique-se de que tem atribuída a função de servidor sysadmin e de que, em Status, tem a opção Conceder para a Permissão para ligar ao motor de base de dados e Login como Ativado.

  9. Após conceder permissão, Redescobrir BDs no portal do Azure acedendo a cofre dos Serviços de Recuperação>Gerir>Infraestrutura de Cópia de Segurança>Carga de trabalho na VM do Azure.

    Redescobrir DBs no portal do Azure

Alternativamente, pode automatizar a atribuição de permissões executando os seguintes cmdlets em modo administrador.

Nota

O nome da instância é definido como MSSQLSERVER por padrão. Altere o argumento do nome da instância no script, se necessário.

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 para backup instantâneo de instâncias do SQL Server em VMs do Azure

A cópia de segurança do SQL no instantâneo da VM do Azure implica os seguintes custos:

  • As cópias de segurança de instantâneo armazenadas num cofre dos Serviços de Recuperação têm um preço baseado nos preços do Azure Backup.

  • Para além da taxa de Instância Protegida e do custo de armazenamento no cofre, o Azure Backup incorre em custos adicionais pelo armazenamento de snapshots no nível operacional.

  • Os snapshots de disco geridos implicam custos de acordo com os preços dos snapshots de Discos Geridos durante o período em que forem mantidos na sua subscrição.

Próximos passos