Restaurar um banco de dados na Instância Gerenciada SQL do Azure para um point-in-time anterior

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

Você pode usar a restauração point-in-time para criar um banco de dados que seja uma cópia de um banco de dados em um point-in-time específico anterior. Este artigo descreve como fazer uma restauração point-in-time de um banco de dados na Instância Gerenciada SQL do Azure.

Nota

A opção Criar ou Atualizar v02.01.2022 foi preterida. A partir de janeiro de 2023, use a chamada de API de substituição Criar ou Atualizar v5.0.2022 para todas as operações de restauração de banco de dados.

Descrição geral

A restauração point-in-time é útil em cenários de recuperação, como em um incidente causado por erro ou falha, quando os dados não são carregados corretamente ou se dados cruciais são excluídos. Você também pode usá-lo simplesmente para testar e auditar sua implantação de 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 point-in-time para restaurar um banco de dados nestes cenários:

  • A partir de uma base de dados existente
  • A partir de uma base de dados eliminada
  • Para a mesma instância gerenciada ou para uma instância gerenciada diferente
  • Para uma instância gerenciada na mesma assinatura ou para uma instância gerenciada em uma assinatura diferente

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

Scenario Portal do Azure CLI do Azure PowerShell
Restaurar um banco de dados existente para a mesma instância gerenciada Sim Sim Sim
Restaurar um banco de dados existente para uma instância gerenciada diferente Sim Sim Sim
Restaurar um banco de dados excluído para a mesma instância gerenciada Sim Sim Sim
Restaurar um banco de dados excluído para uma instância gerenciada diferente Sim Sim Sim
Restaurar um banco de dados existente para uma instância gerenciada em outra assinatura Sim Sim Sim
Restaurar um banco de dados excluído para uma instância gerenciada em outra assinatura Sim Sim Sim

Permissões

Para recuperar um banco de dados, você deve ser:

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

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

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

Para obter mais informações, consulte Azure RBAC: funções internas.

Limitações

Essas limitações se aplicam à restauração point-in-time na Instância Gerenciada SQL:

  • Não é possível usar a restauração point-in-time para recuperar uma implantação inteira da Instância Gerenciada SQL. Use a restauração point-in-time apenas para fazer uma cópia de um banco de dados hospedado na Instância Gerenciada SQL.

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

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

Aviso

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

Restaurar para a mesma subscrição

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

Restaurar numa subscrição diferente

A restauração de um backup de restauração point-in-time entre assinaturas tem as seguintes limitações:

  • Ambas as assinaturas devem estar na mesma região.
  • Ambas as assinaturas devem estar no mesmo locatário.
  • O tipo de subscrição tem de ser Enterprise Agreement, Cloud Solution Provider, Microsoft Certified Partner ou pay-as-you-go.
  • Você pode usar a ação de restauração somente na instância principal.
  • Você só pode restaurar um backup da região primária. Não há suporte para a restauração de um banco de dados da região secundária replicada geograficamente para restauração point-in-time entre assinaturas.
  • O usuário que executa a ação de restauração deve ter a atribuição de função de Colaborador da Instância Gerenciada SQL ou ter estas permissões explícitas:
    • Microsoft.Sql/managedInstances/databases/readBackups/action na instância gerenciada SQL de origem.
    • Microsoft.Sql/managedInstances/crossSubscriptionPITR/action na instância gerenciada SQL de destino.
  • Se você trazer sua própria chave (BYOK), a chave deve estar presente em ambas as 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 de Instância Gerenciada 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 da API Criar ou Atualizar v5.0.2022 subjacente à ação de restauração deverá conter restorePointInTime, crossSubscriptionTargetManagedInstanceIde ou crossSubscriptionSourceDatabaseIdcrossSubscriptionRestorableDroppedDatabaseId.

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

Como alternativa, para restaurar seu banco de dados, você pode seguir estas etapas:

  1. Inicie sessão no portal do Azure.

  2. Vá para a Instância Gerenciada SQL de destino para a qual você planeja restaurar seu 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 SQL do Azure.

    Screenshot that shows the SQL Managed Instance overview pane in the Azure portal, with adding a new database selected.

  4. Na guia Noções básicas da página Criar Banco de Dados Gerenciado SQL do Azure, forneça detalhes da assinatura e do grupo de recursos em Detalhes do projeto. Em seguida, 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 correta está listada na lista suspensa. Em seguida, selecione Next: Data source >

    Screenshot of the Azure portal that shows the Basics tab of the Create Azure SQL Managed Database page.

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

    Screenshot of the Azure portal that shows the data source tab of the Create Azure SQL Managed Database page, with point-in-time restore selected.

  6. Na guia Configurações adicionais, você pode marcar a caixa para herdar a política de retenção do banco de dados de origem ou, alternativamente, 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 Rever + criar.

    Screenshot of the Azure portal that shows the additional settings tab of the Create Azure SQL Managed Database page.

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

Essa ação inicia o processo de restauração, que cria um novo banco de dados e o preenche com dados do banco de dados original no point-in-time especificado. Para obter mais informações sobre o processo de recuperação, consulte Tempo de recuperação.

Restaurar uma base de dados eliminada

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 excluído usando o portal do Azure:

  1. No portal do Azure, vá para sua instância gerenciada de origem.

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

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

  4. Para o banco de dados a ser restaurado, selecione Restaurar.

    Screenshot that shows available databases in the portal, with the Restore button highlighted to restore a deleted database.

  5. Em Criar banco de dados gerenciado SQL do Azure, insira ou selecione detalhes da instância gerenciada de destino para restaurar seu 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 o separador Definições adicionais.

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

  8. Em Rever + criar, selecione Criar para restaurar a base de dados eliminada.

Substituir um banco de dados existente

Para substituir um banco de dados existente, você deve fazer o seguinte:

  1. Solte o banco de dados original que você deseja substituir.
  2. Renomeie o banco de dados restaurado do point-in-time para o nome do banco de dados que você soltou.

Soltar o banco de dados original

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

Outra opção para descartar o banco de dados é conectar-se à sua instância gerenciada diretamente no SQL Server Management Studio (SSMS) e, em seguida, usar o DROP comando 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:

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

  2. Na barra de comandos, selecione Excluir.

    Screenshot that shows how to delete a database by using the Azure portal.

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

Use o SQL Server Management Studio (SSMS) para se conectar diretamente à sua instância gerenciada. 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 descartado 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:

Próximos passos

Saiba mais sobre backups automatizados.