Partilhar via


Restaurar bancos de dados do SQL Server em VMs do Azure

Este artigo descreve como restaurar um banco de dados do SQL Server que está sendo executado em uma máquina virtual (VM) do Azure que o serviço de Backup do Azure fez backup em um cofre dos Serviços de Recuperação de Backup do Azure.

Este artigo descreve como restaurar bancos de dados do SQL Server. Para obter mais informações, consulte Fazer backup de bancos de dados do SQL Server em VMs do Azure.

Observação

Consulte a matriz de suporte de backup SQL para saber mais sobre as configurações e cenários suportados.

Restaurar para um tempo ou ponto de recuperação

O Backup do Azure pode restaurar bancos de dados do SQL Server que estão sendo executados em VMs do Azure da seguinte maneira:

  • Restaure para uma data ou hora exata, até aos segundos, usando backups de log de transações. O Azure Backup determina automaticamente o tipo apropriado de backup diferencial completo e a cadeia de backups de log necessários para a restauração, com base no horário selecionado.
  • Restaure um backup completo ou diferencial específico para recuperar a partir de um ponto de recuperação específico.

Restaurar pré-requisitos

Antes de restaurar um banco de dados, observe o seguinte:

  • Você pode restaurar o banco de dados para uma instância de um SQL Server na mesma região do Azure.
  • O servidor de destino deve ser registado no mesmo cofre que a origem. Se quiser restaurar backups para um cofre diferente, habilite a restauração entre assinaturas.
  • Se você tiver várias instâncias em execução em um servidor, todas as instâncias deverão estar ativas e em execução. Caso contrário, o servidor não aparecerá na lista de servidores de destino para restaurar o banco de dados. Para obter mais informações, consulte as etapas de solução de problemas.
  • Para restaurar um banco de dados criptografado TDE para outro SQL Server, você precisa primeiro restaurar o certificado para o servidor de destino.
  • Os bancos de dados habilitados para CDC devem ser restaurados usando a opção Restaurar como arquivos .
  • É altamente recomendável restaurar o banco de dados "mestre" usando a opção Restaurar como arquivos e, em seguida, restaurar usando comandos T-SQL.
  • Para todos os bancos de dados do sistema (modelo, msdb), pare o serviço SQL Server Agent antes de acionar a restauração.
  • Feche todos os aplicativos que possam tentar estabelecer uma conexão com qualquer um desses bancos de dados.
  • Para os bancos de dados mestres, a opção Local alternativo para restauração não é suportada. Recomendamos que você restaure o banco de dados mestre usando a opção Restaurar como arquivos e, em seguida, restaure usando os T-SQL comandos.
  • Para msdb e model, a opção Local alternativo para restauração é suportada somente quando o nome do banco de dados Restaurado é diferente do nome do banco de dados de destino . Se você quiser restaurar o mesmo nome com o banco de dados de destino, recomendamos restaurar usando a opção Restaurar como arquivos e, em seguida, restaurar usando os T-SQL comandos.

Restaurar um banco de dados

Para restaurar, você precisa das seguintes permissões:

  • Permissões de Operador de Backup no cofre onde você está fazendo a restauração.
  • Acesso de colaborador (gravação) à VM de origem cujo backup é feito.
  • Acesso de colaborador (gravação) à VM de destino:
    • Se estiver a restaurar para a mesma VM, esta será a VM de origem.
    • Se estiver a restaurar para uma localização alternativa, esta será a nova VM de destino.

Restaure da seguinte forma:

  1. No portal Azure, vai a Resiliência e depois seleciona Recuperar.

    A captura de ecrã mostra como iniciar a recuperação da base de dados SQL.

  2. No painel Recuperar , selecione Tipo de Fonte de Dados como SQL no Azure VM e, em Item Protegido, clique em Selecionar.

    A captura de ecrã mostra como selecionar o tipo de fonte de dados para a recuperação.

  3. No painel de Selecionar itens Protegidos , selecione uma base de dados SQL protegida da lista e depois clique em Selecionar.

  4. No painel Recuperar , selecione Continuar.

  5. No painel Restaurar , em Onde e como restaurar, selecione qualquer um dos seguintes locais para restaurar a base de dados:

    • Local alternativo: restaure o banco de dados para um local alternativo e mantenha o banco de dados de origem original.

    • Localização original: Restaurar os dados na mesma instância do SQL Server que a fonte original. Esta opção substitui o banco de dados original.

      Importante

      Se o banco de dados selecionado pertencer a um grupo de disponibilidade Always On, o SQL Server não permitirá que o banco de dados seja substituído. Apenas a Localização Alternativa está disponível.

    • Restaurar como arquivos: em vez de restaurar como um banco de dados, restaure os arquivos de backup que podem ser recuperados como um banco de dados posteriormente em qualquer máquina onde os arquivos estejam presentes usando o SQL Server Management Studio.

Restaurar para uma localização alternativa

  1. No painel Restaurar , em Onde Restaurar, selecione Localização Alternativa.

  2. Selecione o nome e a instância do SQL Server para a qual você deseja restaurar o banco de dados.

  3. Em Nome da Base de Dados Restaurada, insira o nome da base de dados destino.

  4. Se aplicável, selecione Substituir caso a base de dados com o mesmo nome já exista na instância SQL selecionada.

  5. Em Ponto de Restauro, clique em Selecionar.

  6. No painel Selecionar ponto de restauro , selecione se deve restaurar para um ponto no tempo ou para restaurar para um ponto de recuperação específico, e depois selecione OK.

    A captura de ecrã mostra como selecionar o Ponto de Restauração.

  7. No painel de Restauração , em Configuração Avançada, selecione Configurar.

  8. No painel de Configuração Avançada , faça a configuração necessária e depois selecione OK

    • Se você quiser manter o banco de dados não operacional após a restauração, habilite Restaurar com NORECOVERY.

    • Se desejar alterar o local de restauração no servidor de destino, insira novos caminhos de destino.

      A captura de ecrã mostra como entrar nos caminhos-alvo.

  9. No painel de Restauração , selecione OK para ativar a restauração. Acompanhe o progresso da restauração na área Notificações ou acompanhe-o na visualização Trabalhos de backup no cofre.

    Observação

    A restauração point-in-time está disponível apenas para backups de log para bases de dados que estão no modo de recuperação completa e 'bulk-logged'.

Restaurar e sobrescrever

  1. No menu Restaurar configuração, em Onde restaurar, selecione Substituir DB>OK.

    Selecione Substituir banco de dados

  2. Em Selecionar ponto de restauração, selecione Logs (Ponto no Tempo) para restaurar para um ponto específico no tempo. Ou selecione Full & Differential para restaurar para um ponto de recuperação específico.

    Observação

    A restauração point-in-time está disponível apenas para backups de log para bases de dados que estão no modo de recuperação completa e 'bulk-logged'.

Restaurar como ficheiros

Para restaurar os dados de backup como arquivos .bak em vez de um banco de dados, escolha Restaurar como arquivos. Uma vez que os arquivos são despejados para um caminho especificado, você pode levar esses arquivos para qualquer máquina onde você deseja restaurá-los como um banco de dados. Como você pode mover esses arquivos para qualquer máquina, agora pode restaurar os dados entre assinaturas e regiões.

  1. Em Onde e como Restaurar, selecione Restaurar como ficheiros.

  2. Selecione o nome do SQL Server para o qual você deseja restaurar os arquivos de backup.

  3. No caminho de destino no servidor, insira o caminho da pasta no servidor selecionado na etapa 2. Este é o local onde o serviço despejará todos os arquivos de backup necessários. Normalmente, um caminho de compartilhamento de rede ou caminho de um compartilhamento de arquivos do Azure montado quando especificado como o caminho de destino, permite um acesso mais fácil a esses arquivos por outras máquinas na mesma rede ou com o mesmo compartilhamento de arquivos do Azure montado nelas.

    Observação

    Para restaurar os arquivos de backup do banco de dados em um Compartilhamento de Arquivos do Azure montado na VM registrada de destino, verifique se NT AUTHORITY\SYSTEM tem acesso ao compartilhamento de arquivos. Você pode executar as etapas fornecidas abaixo para conceder as permissões de leitura/gravação ao AFS montado na VM:

    • Executar PsExec -s cmd para aceder ao shell NT AUTHORITY\SYSTEM
      • Executar cmdkey /add:<storageacct>.file.core.windows.net /user:AZURE\<storageacct> /pass:<storagekey>
      • Verificar o acesso com dir \\<storageacct>.file.core.windows.net\<filesharename>
    • Inicie uma restauração dos arquivos do Cofre de Backup para \\<storageacct>.file.core.windows.net\<filesharename> como caminho
      Você pode baixar o PsExec na página Sysinternals .
  4. Selecione OK.

    Selecione Restaurar como arquivos

  5. Selecione Ponto de Restauração e selecione se deseja restaurar para um point-in-time específico ou restaurar para um ponto de recuperação específico.

  6. Ao fazer a restauração do tipo "ponto no tempo" do banco de dados SQL usando Restaurar como arquivos, ele armazenará todos os pontos de recuperação desde o backup completo até o momento específico selecionado. Em seguida, você pode restaurar usando esses arquivos como um banco de dados em qualquer máquina que eles estejam presentes usando o SQL Server Management Studio.

    Arquivos de backup restaurados no caminho de destino

Restaurar para um ponto específico no tempo

Se você selecionou Logs (Point in Time) como o tipo de restauração, faça o seguinte:

  1. Em Restaurar Data/Hora, abra o calendário. No calendário, as datas com pontos de recuperação são exibidas em negrito e a data atual é realçada.

  2. Selecione uma data que tenha pontos de recuperação. Não é possível selecionar datas que não tenham pontos de recuperação.

    Abrir o calendário

  3. Depois de selecionar uma data, o gráfico da linha do tempo exibe os pontos de recuperação disponíveis em um intervalo contínuo.

  4. Especifique um tempo para a recuperação no gráfico da linha do tempo ou selecione um horário. Em seguida, selecione OK.

Restauração parcial como arquivos

O serviço de Backup do Azure decide a cadeia de arquivos a serem baixados durante a restauração como arquivos. Mas há cenários em que você pode não querer baixar o conteúdo inteiro novamente.

Por exemplo, quando você tem uma política de backup de fulls semanais, diferenciais diários e logs, e você já baixou arquivos para um determinado diferencial. Você descobriu que este não é o ponto de recuperação certo e decidiu baixar o diferencial do dia seguinte. Agora vocês só precisam do arquivo diferencial, pois já têm o arquivo completo. Com a capacidade de restaurar parcialmente arquivos, fornecida pelo Backup do Azure, agora pode excluir a restauração completa da cadeia de download e baixar apenas o diferencial.

Excluindo tipos de arquivos de backup

O ExtensionSettingsOverrides.json é um arquivo JSON (JavaScript Object Notation) que contém substituições para várias configurações do serviço de Backup do Azure para SQL. Para a operação "Restauração parcial como arquivos", deve ser adicionado um novo campo "JSON" RecoveryPointTypesToBeExcludedForRestoreAsFiles. Este campo contém um valor de cadeia de caracteres que indica quais tipos de ponto de recuperação devem ser excluídos na próxima operação de restauração de ficheiros.

  1. Na máquina de destino onde os arquivos devem ser baixados, vá para a pasta "C:\Program Files\Azure Workload Backup\bin"

  2. Crie um novo arquivo JSON chamado "ExtensionSettingsOverrides.JSON", se ele ainda não existir.

  3. Adicione o seguinte par de valores de chave JSON

    {
    "RecoveryPointTypesToBeExcludedForRestoreAsFiles": "ExcludeFull"
    }
    
  4. Não é necessário reiniciar qualquer serviço. O serviço de Backup do Azure tentará excluir tipos de backup na cadeia de restauração, conforme mencionado neste arquivo.

O RecoveryPointTypesToBeExcludedForRestoreAsFiles só usa valores específicos que denotam os pontos de recuperação a serem excluídos durante a restauração. Para SQL, esses valores são:

  • ExcludeFull (Outros tipos de backup, como diferencial e logs, serão baixados, se estiverem presentes na cadeia de pontos de restauração)
  • ExcludeFullAndDifferential (Outros tipos de backup, como logs, serão baixados, se estiverem presentes na cadeia de pontos de restauração)
  • ExcludeFullAndIncremental (Outros tipos de backup, como logs, serão baixados, se estiverem presentes na cadeia de pontos de restauração)
  • ExcludeFullAndDifferentialAndIncremental (Outros tipos de backup, como logs, serão baixados, se estiverem presentes na cadeia de pontos de restauração)

Restaurar a partir de um ponto de restauração específico

Se você selecionou Full & Differential como o tipo de restauração, faça o seguinte:

  1. Selecione um ponto de recuperação na lista e selecione OK para concluir o procedimento do ponto de restauração.

    Escolha um ponto de recuperação completo

    Observação

    Por padrão, os pontos de recuperação dos últimos 30 dias são exibidos. Você pode exibir pontos de recuperação com mais de 30 dias selecionando Filtrar e selecionando um intervalo personalizado.

Restaure bancos de dados com um grande número de arquivos

Se o tamanho total da cadeia de caracteres dos arquivos em um banco de dados for maior do que um limite específico, o Backup do Azure armazenará a lista de arquivos de banco de dados em um componente de poço diferente para que você não possa definir o caminho de restauração de destino durante a operação de restauração. Em vez disso, os arquivos serão restaurados para o caminho padrão do SQL.

Restaurar banco de dados com arquivo grande

Recuperar um banco de dados de .bak arquivo usando o SSMS

Você pode usar a operação Restaurar como arquivos para restaurar os arquivos de banco de dados no formato .bak ao restaurar a partir do Azure Portal. Saiba mais.

Quando a restauração do arquivo para a máquina virtual do Azure estiver concluída, você poderá acionar a .bak restauração usando comandos TSQL por meio do SSMS.   Para restaurar os arquivos de banco de dados para o caminho original no servidor de origem, remova a MOVE cláusula da consulta de restauração TSQL.   Exemplo

  USE [master] 
  RESTORE DATABASE [<DBName>] FROM  DISK = N'<.bak file path>'

Observação

Você não deve ter os mesmos arquivos de banco de dados no servidor de destino (restaurar com substituir).  Além disso, você pode habilitar a inicialização instantânea de arquivos no servidor de destino para reduzir a sobrecarga do tempo de inicialização do arquivo.

Para realocar os arquivos de banco de dados do servidor de restauração de destino, você pode enquadrar um comando TSQL usando as MOVE cláusulas.

  USE [master] 
  RESTORE DATABASE [<DBName>] FROM  DISK = N'<.bak file path>'  MOVE N'<LogicalName1>' TO N'<TargetFilePath1OnDisk>',  MOVE N'<LogicalName2>' TO N'<TargetFilePath2OnDisk>' GO

Exemplo

  USE [master] 
  RESTORE DATABASE [test] FROM  DISK = N'J:\dbBackupFiles\test.bak' WITH  FILE = 1,  MOVE N'test' TO N'F:\data\test.mdf',  MOVE N'test_log' TO N'G:\log\test_log.ldf',  NOUNLOAD,  STATS = 5 
  GO

Se houver mais de dois arquivos para o banco de dados, você poderá adicionar cláusulas adicionais MOVE à consulta de restauração. Você também pode usar o SSMS para recuperação de banco de dados usando .bak arquivos. Saiba mais.

Observação

Para recuperação de banco de dados grande, recomendamos que você use instruções TSQL. Se desejar realocar os arquivos de banco de dados específicos, consulte a lista de arquivos de banco de dados no formato JSON criado durante a operação Restaurar como arquivos .

Restauração de região cruzada

Como uma das opções de restauração, o Cross Region Restore (CRR) permite restaurar bancos de dados SQL hospedados em VMs do Azure em uma região secundária, que é uma região emparelhada do Azure.

Para aderir à funcionalidade, leia a seção Antes de começar.

Para ver se a CRR está ativada, siga as instruções em Configurar restauração entre regiões

Exibir itens de backup na região secundária

Se a CRR estiver habilitada, você poderá exibir os itens de backup na região secundária.

  1. No portal, vá para cofre dos Serviços de Recuperação>Itens de backup.
  2. Selecione Região secundária para exibir os itens na região secundária.

Observação

Somente os tipos de gerenciamento de backup que suportam o recurso CRR serão mostrados na lista. Atualmente, apenas o suporte para restaurar dados de região secundária para uma região secundária é permitido.

Itens de backup na região secundária

Bases de dados na região secundária

Restaurar na região secundária

A experiência do usuário de restauração da região secundária será semelhante à experiência do usuário de restauração da região primária. Ao configurar detalhes no painel Restaurar configuração para configurar sua restauração, você será solicitado a fornecer apenas parâmetros de região secundária. Um cofre deve existir na região secundária e o servidor SQL deve estar registado no cofre da região secundária.

Onde e como restaurar

Acionar a notificação de restauração em andamento

Observação

  • Depois de a restauração ser acionada e na fase de transferência de dados, o trabalho de restauro não pode ser cancelado.
  • O nível de função/acesso necessário para executar a operação de restauração entre regiões é a função de Operador de Backup na assinatura e o acesso de Colaborador (gravação) nas máquinas virtuais de origem e de destino. Para exibir trabalhos de backup, o leitor de backup é a permissão mínima necessária na assinatura.
  • O RPO para que os dados de backup estejam disponíveis na região secundária é de 12 horas. Portanto, quando você ativa a CRR, o RPO para a região secundária é de 12 horas + duração da frequência de log (que pode ser definida para um mínimo de 15 minutos).

Saiba mais sobre os requisitos mínimos de função para restauração entre regiões.

Monitorando trabalhos de restauração de região secundária

Para visualizar os trabalhos de restauro da região secundária, siga estes passos:

  1. No portal do Azure, vá a Resiliência>Monitorização + Relatórios>Tarefas.

  2. No painel de Jobs, selecione o tipo de Fonte de Dados como SQL no Azure VM.

    A captura de ecrã mostra os trabalhos de Backup filtrados.

Restauração de assinatura cruzada

Azure Backup agora permite restaurar um banco de dados SQL para qualquer subscrição (de acordo com os seguintes requisitos do RBAC do Azure) a partir do ponto de recuperação. Por padrão, o Backup do Azure restaura para a mesma assinatura em que os pontos de restauração estão disponíveis.

Com o Cross Subscription Restore (CSR), tem a flexibilidade de restaurar para qualquer assinatura e qualquer cofre dentro de seu locatário se as permissões de restauração estiverem disponíveis. Por padrão, o CSR está habilitado em todos os cofres dos Serviços de Recuperação (cofres existentes e recém-criados).

Observação

  • Você pode acionar a restauração entre diferentes assinaturas a partir do cofre de Serviços de Recuperação.
  • O CSR é suportado apenas para backup baseado em streaming e não é suportado para backup baseado em instantâneo.
  • Não há suporte para CRR (Cross Regional Restore) com CSR.

Requisitos do RBAC do Azure

Tipo de operação Operador de backups cofre dos Serviços de Recuperação Operador alternativo
Restaurar banco de dados ou restaurar como arquivos Virtual Machine Contributor VM de origem cujo backup foi feito Em vez de uma função interna, você pode considerar uma função personalizada que tenha as seguintes permissões:

- Microsoft.Compute/virtualMachines/write
- Microsoft.Compute/virtualMachines/read
Virtual Machine Contributor VM de destino na qual o banco de dados será restaurado ou os arquivos serão criados. Em vez de uma função interna, você pode considerar uma função personalizada que tenha as seguintes permissões:

- Microsoft.Compute/virtualMachines/write
- Microsoft.Compute/virtualMachines/read
Backup Operator Cofre dos Serviços de Recuperação de Destino

Por padrão, a CSR está ativada no cofre dos Serviços de Recuperação. Para atualizar as configurações de restauração do cofre dos Serviços de Recuperação, vá para Propriedades>Cross Subscription Restore e faça as alterações necessárias.

A captura de tela mostra como modificar as configurações de Restauração Cruzada entre Assinaturas em um cofre de Serviços de Recuperação para banco de dados SQL.

Próximos passos

Gerenciar e monitorar Bancos de dados do SQL Server cujo backup é feito pelo Backup do Azure.