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

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. Este artigo descreve como fazer uma restauração pontual de um banco de dados em uma Instância Gerenciada de SQL do Azure.

Observação

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

Visão geral

A restauração pontual é útil em cenários de recuperação, como para 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á-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 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 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 Yes Sim Yes
Restaurar um banco de dados existente para uma instância diferente Yes Sim Yes
Restaurar um banco de dados excluído para a mesma instância gerenciada Yes Sim Yes
Restaurar um banco de dados excluído para a uma instância gerenciada diferente Yes Sim Yes
Restaurar um banco de dados existente para uma instância gerenciada em outra assinatura Yes Sim Yes
Restaurar um banco de dados excluído para uma instância gerenciada em outra assinatura Yes Sim Sim

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 o 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, confira Funções internas do Azure RBAC.

Limitações

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 a restauração pontual apenas para fazer uma cópia de um banco de dados hospedado em 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 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 de SQL do Azure, a colocação de uma política de ponto de extremidade de serviço em uma sub-rede impede as restaurações pontuais de instâncias em sub-redes diferentes.

Aviso

Esteja ciente do tamanho do armazenamento da 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.

Restauração na mesma assinatura

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, não há suporte para restauração entre regiões.

Restaurar para uma assinatura diferente

A restauração de um backup de restauração 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 a restauração de um banco de dados da região secundária com replicação geográfica para restauração pontual entre assinatura.
  • 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 Criar ou Atualizar v5.0.2022 subjacente à ação de restauração deverá conter restorePointInTime, crossSubscriptionTargetManagedInstanceId, e crossSubscriptionSourceDatabaseId ou crossSubscriptionRestorableDroppedDatabaseId.

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.

    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 do SQL do Azure, forneça detalhes de assinatura e grupo de recursos em 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 correta está na lista suspensa. Selecione Avançar: Fonte de dados >

    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 pontual 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 você deseja restaurar e 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 >

    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, 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.

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

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

  1. No portal do Azure, acesse 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 que o banco de dados seja 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 gerenciados da SQL do Azure, insira ou selecione detalhes para a 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 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 fazer o seguinte:

  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 descartar o banco de dados é conectar-se à sua instância gerenciada diretamente no SQL Server Management Studio (SSMS) 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:

  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 nome do novo banco de dados para corresponder ao nome do banco de dados original

Abra o SSMS (SQL Server Management Studio) e conecte-o 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 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:

Próximas etapas

Saiba mais sobre backups automatizados.