Compartilhar via


Restaurar um banco de dados SQL em uma Instância Gerenciada de SQL do Azure para um ponto no tempo anterior

Aplica-se a:Instância Gerenciada de SQL do Azure

Este artigo descreve como fazer uma restauração pontual de um banco de dados em uma Instância Gerenciada de SQL do Azure. Você pode usar a restauração pontual para criar um banco de dados que é uma cópia de um banco de dados em um ponto específico anterior no tempo.

Visão geral

A restauração pontual é útil em cenários de recuperação. Por exemplo, em incidentes causados por erro ou falha, ou quando os dados não são carregados corretamente ou se os dados cruciais são excluídos. Você também pode usá-la simplesmente para testar e auditar a implantação do banco de dados. Os arquivos de backup do Azure são mantidos por 7 a 35 dias, dependendo das configurações do banco de dados.

Você pode usar a restauração pontual para restaurar um banco de dados nestes cenários:

  • De um banco de dados existente
  • De um banco de dados excluído
  • Para a mesma instância gerenciada de SQL ou para uma instância gerenciada de SQL diferente
  • Para uma instância gerenciada de SQL na mesma assinatura ou para uma instância gerenciada de SQL em uma assinatura diferente

A tabela a seguir mostra cenários de restauração pontual para Instância Gerenciada de SQL:

Cenário portal do Azure CLI do Azure PowerShell
Restaurar um banco de dados existente para a mesma instância gerenciada de SQL Yes Yes Yes
Restaurar um banco de dados existente para uma instância gerenciada de SQL diferente Yes Yes Yes
Restaurar um banco de dados excluído para a mesma instância gerenciada de SQL Yes Yes Yes
Restaurar um banco de dados excluído para uma instância gerenciada de SQL diferente Yes Yes Yes
Restaurar um banco de dados existente para uma instância gerenciada de SQL em outra assinatura Yes Yes Yes
Restaurar um banco de dados excluído para uma instância gerenciada de SQL em outra assinatura Yes Yes Yes

Permissões

Para recuperar um banco de dados, você deverá ser:

  • Um membro com a função de Colaborador do SQL Server ou Instância Gerenciada de SQL (dependendo do destino de recuperação) na assinatura
  • O proprietário da assinatura

Para restaurar um banco de dados para uma assinatura de destino diferente, se você não estiver na função colaborador da Instância Gerenciada de SQL , também deverá ter as seguintes permissões:

  • Microsoft.Sql/managedInstances/databases/readBackups/action na instância gerenciada do SQL de origem.
  • Microsoft.Sql/managedInstances/crossSubscriptionPITR/action na instância gerenciada do SQL de destino.

Para obter mais informações, veja Funções internas do Azure.

Limitações

Observação

Use a versão atual da chamada criar ou atualizar a API para todas as operações de restauração de banco de dados.

Essas limitações se aplicam à restauração pontual na Instância Gerenciada de SQL:

  • Você não pode usar a restauração pontual para recuperar uma implantação de Instância Gerenciada de SQL inteira. Use apenas a restauração pontual para fazer uma cópia de um banco de dados hospedado na Instância Gerenciada de SQL.

  • As limitações na restauração pontual dependem se você está restaurando seu banco de dados para uma instância gerenciada de SQL na mesma assinatura ou para uma instância gerenciada de SQL em uma assinatura diferente.

  • Quando as políticas de ponto de extremidade de serviço são habilitadas na Instância Gerenciada de SQL do Azure, colocar uma política de ponto de extremidade de serviço em uma sub-rede impede restaurações pontuais de instâncias em sub-redes diferentes.

Aviso

Lembre-se do tamanho do armazenamento da instância gerenciada de SQL. Dependendo do tamanho dos dados a serem restaurados, você pode ficar sem armazenamento para sua instância gerenciada de SQL. Se você não tiver espaço de armazenamento suficiente em sua instância gerenciada de SQL para os dados restaurados, use uma abordagem diferente.

Restauração na mesma assinatura

Se você restaurar de uma instância gerenciada de SQL para outra instância gerenciada de SQL na mesma assinatura do Azure, ambas as instâncias gerenciadas de SQL deverão estar na mesma região. Atualmente, não há suporte para restauração entre regiões.

Restaurar para uma assinatura diferente

Restaurar um backup pontual entre assinaturas tem as seguintes limitações:

  • As duas assinaturas precisam estar na mesma região.

  • As duas assinaturas precisam estar no mesmo locatário.

  • O tipo de assinatura deve ser Enterprise Agreement, Provedor de Soluções na Nuvem, Parceiro Certificado da Microsoft ou pagamento conforme o uso.

  • Você pode usar a ação de restauração somente na instância primária.

  • Você só pode restaurar um backup da região primária. Não há suporte para restaurar um banco de dados da região secundária replicada geograficamente para restauração pontual entre assinaturas.

  • O usuário que executa a ação de restauração deve ter a atribuição de função colaborador da Instância Gerenciada de SQL ou ter essas permissões explícitas:

    • Microsoft.Sql/managedInstances/databases/readBackups/action na instância gerenciada do SQL de origem.
    • Microsoft.Sql/managedInstances/crossSubscriptionPITR/action na instância gerenciada do SQL de destino.
  • Se você estiver trazendo sua chave (BYOK), a chave precisará estar presente nas duas assinaturas.

Restaurar um banco de dados existente

Você pode restaurar um banco de dados existente na mesma assinatura usando o portal do Azure, o PowerShell ou a CLI do Azure. Se você restaurar para uma instância diferente na mesma assinatura usando o PowerShell ou a CLI do Azure, certifique-se de especificar as propriedades para o recurso Instância Gerenciada de SQL de destino. O banco de dados é restaurado para a mesma instância por padrão.

Se você restaurar para uma assinatura diferente, a chamada à API Create ou Update v5.0.2022 ou posterior que esteja por trás da ação de restauração deverá conter os seguintes valores:

  • restorePointInTime
  • crossSubscriptionTargetManagedInstanceId
  • E ou crossSubscriptionSourceDatabaseIdcrossSubscriptionRestorableDroppedDatabaseId.

Para restaurar um banco de dados existente, você poderá fazer isso acessando a página do banco de dados no portal do Azure e selecionando Restaurar.

Como alternativa, para restaurar o banco de dados, você poderá seguir estas etapas:

  1. Entre no portal do Azure.

  2. Vá para o Instância Gerenciada de SQL de destino no qual você planeja restaurar o banco de dados.

  3. Na página Visão geral, escolha + Novo banco de dados para abrir a página Criar banco de dados gerenciado do SQL do Azure.

    Captura de tela que mostra o painel de visão geral da Instância Gerenciada de SQL no portal do Azure, com a adição de um novo banco de dados selecionado.

  4. Na guia Noções básicas da página Criar Banco de Dados Gerenciado de SQL do Azure, forneça detalhes da assinatura e do grupo de recursos nos detalhes do Projeto. Em Detalhes do banco de dados, forneça o novo nome do banco de dados que você planeja restaurar. Confirme se a instância gerenciada de SQL correta está listada na lista suspensa. Selecione Avançar: Fonte de dados >

    Captura de tela do portal do Azure que mostra a guia Noções básicas da página Criar banco de dados gerenciado do SQL do Azure.

  5. Na guia Fonte de dados, escolha Restauração pontual em Usar dados existentes. Forneça a assinatura, o grupo de recursos e a instância gerenciada de SQL que contém o banco de dados de origem. Na lista suspensa banco de dados gerenciado , escolha o banco de dados que você deseja restaurar e escolha o ponto no tempo do qual deseja restaurar o banco de dados. A instância de origem e destino pode ser a mesma ou duas instâncias diferentes. Selecione Avançar: Configurações adicionais >

    Captura de tela do portal do Azure que mostra a guia fonte de dados da página Criar banco de dados gerenciado do SQL do Azure, com a restauração pontual selecionada.

  6. Na guia Configurações adicionais, marque a caixa para herdar a política de retenção do banco de dados de origem ou, como alternativa, você pode selecionar Configurar retenção para abrir a página Configurar políticas e definir as políticas de retenção desejadas para o banco de dados restaurado. Quando terminar, selecione Revisar + Criar.

    Captura de tela do portal do Azure que mostra a guia de configurações adicionais da página Criar banco de dados gerenciado do SQL do Azure.

  7. Em Examinar + criar, quando a validação for bem-sucedida, selecione Criar para restaurar seu banco de dados.

Essa ação inicia o processo de restauração, que cria um novo banco de dados e o preenche com o banco de dados original no ponto no tempo especificado. Para obter mais informações sobre o processo de recuperação, confira Tempo de recuperação.

Restaurar um banco de dados excluído

Você pode restaurar um banco de dados excluído usando o portal do Azure, o Azure PowerShell ou a CLI do Azure.

Para restaurar um banco de dados gerenciado sql excluído usando o portal do Azure:

  1. No portal do Azure, acesse sua instância gerenciada de SQL de origem.

  2. No menu à esquerda, em Gerenciamento de dados, selecione Backups.

  3. Em Mostrar bancos de dados, selecione Excluído.

  4. Para que o banco de dados seja restaurado, selecione Restaurar.

    Captura de tela que mostra os bancos de dados disponíveis no portal, com o botão Restaurar realçado para restaurar um banco de dados excluído.

  5. Em Criar banco de dados gerenciado de SQL do Azure, insira ou selecione detalhes para a instância gerenciada de SQL de destino para a qual restaurar o banco de dados. Selecione a guia Fonte de dados.

  6. Em Fonte de dados, insira ou selecione os detalhes do banco de dados de origem. Selecione a guia Configurações adicionais.

  7. Em Configurações adicionais, defina as configurações de retenção. Selecione a guia Examinar + criar.

  8. Em Examinar + criar, selecione Criar para restaurar o banco de dados excluído.

Substituir um banco de dados existente

Para substituir um banco de dados existente, você deve executar as seguintes ações:

  1. Remova o banco de dados original que você deseja substituir.
  2. Renomeie o banco de dados restaurado do ponto no tempo para o nome do banco de dados que você descartou.

Remover o banco de dados original

Você pode remover o banco de dados usando o portal do Azure, o PowerShell ou a CLI do Azure.

Outra opção para remover o banco de dados é conectar-se à instância gerenciada de SQL diretamente no SSMS (SQL Server Management Studio) e, em seguida, usar o comando DROP Transact-SQL (T-SQL ):

DROP DATABASE WorldWideImporters;

Use um dos seguintes métodos para se conectar ao banco de dados em sua instância gerenciada de SQL:

  1. No portal do Azure, selecione o banco de dados em sua instância gerenciada de SQL.

  2. Na barra de comandos, selecione Excluir.

    Captura de tela que mostra como excluir um banco de dados usando o portal do Azure.

Alterar o nome do novo banco de dados para corresponder ao nome do banco de dados original

Use o SSMS (SQL Server Management Studio) para se conectar diretamente à instância gerenciada de SQL. Em seguida, execute a seguinte consulta T-SQL. A consulta altera o nome do banco de dados restaurado para o nome do banco de dados removido que você pretende substituir.

ALTER DATABASE WorldWideImportersPITR MODIFY NAME = WorldWideImporters;

Use um dos seguintes métodos para se conectar ao banco de dados em sua instância gerenciada de SQL:

Próxima etapa