Recuperar usando backups de banco de dados automatizados – Instância Gerenciada de SQL e Banco de Dados SQL do Azure

APLICA-SE A: Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

As opções a seguir estão disponíveis para recuperação do banco de dados que usam backups de banco de dados automatizados. Você pode:

  • Crie um novo banco de dados no mesmo servidor recuperado para um ponto especificado no tempo dentro do período de retenção.
  • Crie um banco de dados no mesmo servidor recuperado para o tempo de exclusão de um banco de dados excluído.
  • Crie um novo banco de dados em qualquer servidor na mesma região recuperado até o ponto dos backups mais recentes.
  • Crie um novo banco de dados em qualquer servidor em qualquer outra região recuperada até o ponto dos backups replicados mais recentes.

Se você tiver configurado a retenção de longo prazo de backup, também poderá criar um novo banco de dados com base a partir de qualquer backup de retenção de longo prazo em qualquer servidor.

Importante

Não é possível substituir um banco de dados existente durante a restauração.

Ao usar as camadas de serviço Standard ou Premium, a restauração do banco de dados poderá incorrer em um custo de armazenamento extra. O custo extra é incorrido quando o tamanho máximo do banco de dados restaurado é maior do que a quantidade de armazenamento incluída na camada de serviço e no nível de desempenho do banco de dados de destino. Para obter detalhes de preço do armazenamento extra, confira a página Preços do Banco de Dados SQL. Se a quantidade real de espaço usado for menor do que a quantidade de armazenamento incluída, esse custo extra poderá ser evitado por meio da configuração do tamanho máximo do banco de dados para a quantidade incluída.

Tempo de recuperação

O tempo de recuperação para restaurar um banco de dados ao usar backups de banco de dados automatizado é afetado por vários fatores:

  • O tamanho do banco de dados.
  • O tamanho da computação do banco de dados.
  • O número de logs de transações envolvidos.
  • A quantidade de atividade que precisa ser repetida para recuperar até o ponto de restauração.
  • A largura de banda de rede se a restauração for para uma região diferente.
  • O número de solicitações simultâneas de restauração que estão sendo processadas na região de destino.

Para um banco de dados muito grande ou muito ativo, a restauração pode levar várias horas. Quando há uma interrupção prolongada em uma região, é possível que um número alto de solicitações de restauração geográfica seja iniciado para recuperação de desastre. Quando houver muitas solicitações, o tempo de recuperação dos bancos de dados individuais poderá aumentar. A maioria das restaurações de banco de dados é concluída em menos de 12 horas.

Para uma assinatura única, há limitações no número de solicitações de restauração simultâneas. Essas limitações se aplicam a qualquer combinação de restaurações pontuais, geográficas e do backup de retenção de longo prazo.

Opção de implantação Número máximo de solicitações simultâneas que estão sendo processadas Número máximo de solicitações simultâneas que estão sendo enviadas
Banco de dados único (por assinatura) 30 100
Pool Elástico (por pool) 4 2000

Não há um método interno para restaurar o servidor inteiro. Para ver um exemplo de como realizar essa tarefa, confira Banco de Dados SQL do Azure: recuperação de servidor completa.

Importante

Para recuperar usando backups automatizados, você deve ser membro da função Colaborador do SQL Server ou da função Colaborador da Instância Gerenciada de SQL (dependendo do destino de recuperação) na assinatura ou deve ser o proprietário da assinatura. Para obter mais informações, confira Funções internas do Azure RBAC. Você pode usar o portal do Azure, o PowerShell ou a API REST para a recuperação. Não é possível usar o T-SQL.

Restauração em um momento determinado

É possível restaurar um banco de dados autônomo, em pool ou de instância para um ponto anterior no tempo usando o portal do Azure, PowerShell ou a API REST. A solicitação pode especificar qualquer camada de serviço ou tamanho da computação para o banco de dados restaurado. Você precisa ter recursos suficientes no servidor para o qual você está restaurando o banco de dados.

Ao concluir, a restauração cria um novo banco de dados no mesmo servidor do banco de dados original. O banco de dados restaurado é cobrado a taxas normais com base no tamanho da computação e na camada de serviço. Você não incorrerá em encargos até que a restauração do banco de dados seja concluída.

Um banco de dados geralmente é restaurado para um ponto anterior para fins de recuperação. Você poderá tratar o banco de dados restaurado como um substituto do banco de dados original ou usá-lo como uma fonte de dados para atualizar o banco de dados original.

Importante

Você pode executar a restauração apenas no mesmo servidor. A restauração pontual não dá suporte para restauração entre servidores.

  • Substituição de banco de dados

    Se você pretende que o banco de dados restaurado substitua o original, especifique o tamanho de computação e a camada de serviço do banco de dados original. Você pode então renomear o banco de dados original e dar ao banco de dados restaurado o nome original usando o comando ALTER DATABASE no T-SQL.

  • Recuperação de dados

    Se você planeja recuperar dados do banco de dados restaurado para recuperar-se de um erro de usuário ou aplicativo, é necessário gravar e executar o script de recuperação de dados que extrai dados do banco de dados restaurado e o aplica ao banco de dados original. Embora a operação de restauração possa demorar muito para concluir, o banco de dados em restauração é visível na lista de banco de dados por todo o processo de restauração. Se você excluir o banco de dados durante a restauração, a operação de restauração será cancelada e você não será cobrado pelo banco de dados cuja restauração não foi concluída.

Restauração pontual usando o portal do Azure

É possível fazer a recuperação pontual de um banco de dados único ou de instância a partir da folha de visão geral do banco de dados que você quiser restaurar no portal do Azure.

Banco de Dados SQL

Para fazer a recuperação pontual de um banco de dados usando o portal do Azure, abra a página de visão geral do banco de dados e selecione Restaurar na barra de ferramentas. Escolha a fonte de backup e selecione o ponto de backup pontual a partir do qual um novo banco de dados será criado.

Captura de tela das opções de restauração do Banco de Dados SQL.

Instância Gerenciada de SQL

Para fazer a recuperação pontual de um banco de dados de instância gerenciada usando o portal do Azure, abra a página de visão geral do banco de dados e selecione Restaurar na barra de ferramentas. Escolha o ponto de backup pontual a partir do qual um novo banco de dados será criado.

Captura de tela das opções de restauração da instância gerenciada de SQL.

Dica

Para restaurar programaticamente um banco de dados a partir de um backup, confira Recuperação programática usando backups automatizados.

Restauração de banco de dados excluído

Você pode restaurar um banco de dados excluído para a hora de exclusão ou um ponto anterior no tempo, no mesmo servidor ou na mesma instância gerenciada. Você pode fazer isso pelo portal do Azure, PowerShell ou REST (createMode=Restore). Para restaurar um banco de dados excluído, crie um novo banco de dados do backup.

Importante

Se você excluir um servidor ou uma instância gerenciada, todos os bancos de dados dela também serão excluídos e não poderão ser recuperados. Não é possível restaurar um servidor excluído ou uma instância gerenciada.

Restauração do banco de dados excluído usando o portal do Azure

Você restaura bancos de dados excluídos do portal do Azure a partir do recurso de servidor e de instância gerenciada.

Dica

Pode levar vários minutos para que os bancos de dados excluídos recentemente sejam exibidos na página Bancos de dados excluídos no portal do Azure ou ao exibir os bancos de dados excluídos programaticamente.

Banco de Dados SQL

Para fazer a recuperação pontual de um banco de dados excluído usando o portal do Azure, abra a página de visão geral do servidor e selecione Bancos de dados excluídos. Selecione um banco de dados excluído que você quer restaurar e digite o nome do novo banco de dados que será criado com os dados restaurados do backup.

Captura de tela da restauração de um banco de dados excluído

Instância Gerenciada de SQL

Para recuperar um banco de dados gerenciado usando o portal do Azure, abra a página de visão geral da instância gerenciada e selecione Bancos de dados excluídos. Selecione um banco de dados excluído que você quer restaurar e digite o nome do novo banco de dados que será criado com os dados restaurados do backup.

Captura de tela da restauração do banco de dados de Instância Gerenciada de SQL do Azure excluído

Restauração de banco de dados excluído usando o PowerShell

Use os exemplos de script a seguir para restaurar um banco de dados excluído para o Banco de Dados SQL e uma Instância Gerenciada de SQL do Azure usando o PowerShell.

Banco de Dados SQL

Para ver um exemplo de script do PowerShell, que mostra como restaurar um banco de dados excluído no Banco de Dados SQL do Azure, confira Restaurar um banco de dados usando o PowerShell.

Instância Gerenciada de SQL

Para ver um exemplo de script do PowerShell que mostra como restaurar um banco de dados de instância excluído, confira Restaurar um banco de dados de instância excluído usando o PowerShell

Dica

Para restaurar programaticamente um banco de dados excluído, consulte Programando recuperação programaticamente usando backups automatizados.

Restauração geográfica

Importante

A restauração geográfica está disponível somente para bancos de dados SQL ou instâncias gerenciadas configuradas com armazenamento de backup com redundância geográfica.

Você pode restaurar um banco de dados em qualquer servidor do Banco de Dados SQL ou em um banco de dados de instância em qualquer instância gerenciada em qualquer região do Azure nos backups de replicação geográfica mais recentes. A restauração geográfica usa um backup de replicação geográfica como origem. Você pode solicitar restauração geográfica mesmo que o banco de dados ou o datacenter esteja inacessível devido a uma interrupção.

A restauração geográfica é a opção de recuperação padrão quando o banco de dados não estiver disponível devido a um incidente na região de hospedagem. É possível restaurar o banco de dados para um servidor em qualquer outra região. Há um atraso entre o momento em que um backup é realizado e quando ele é replicado geograficamente para um blob do Azure em uma região diferente. Como resultado, o banco de dados restaurado pode ter até uma hora de atraso em relação ao banco de dados original. A ilustração a seguir mostra uma restauração do banco de dados desde o último backup disponível em outra região.

Gráfico da restauração geográfica

Restauração geográfica usando o portal do Azure

No portal do Azure, você cria um novo banco de dados individual ou de instância gerenciada e seleciona um backup de restauração geográfica disponível. O banco de dados recém-criado contém os dados de backup da restauração geográfica.

Banco de Dados SQL

Para fazer a restauração geográfica de um único banco de dados a partir do portal do Azure na região e no servidor de sua escolha, siga estas etapas:

  1. No painel, selecione Adicionar > Criar Banco de Dados SQL. Na guia Noções básicas, insira as informações necessárias.

  2. Selecione Configurações adicionais.

  3. Para usar dados existentes, selecione Backup.

  4. Para fazer backup, selecione um backup na lista de backups de restauração geográfica disponíveis.

    Captura de tela das opções para criar Banco de Dados SQL

Conclua o processo de criação de um novo banco de dados a partir do backup. Quando o banco de dados é criado no Banco de Dados SQL do Azure, ele contém o backup de restauração geográfica restaurado.

Instância Gerenciada de SQL

Para restaurar geograficamente um banco de dados de instância gerenciada do portal do Azure para uma instância gerenciada em uma região da sua escolha, selecione uma instância gerenciada na qual você deseja restaurar um banco de dados. Siga estas etapas:

  1. Selecione Novo banco de dados.

  2. Digite um nome de banco de dados desejado.

  3. Em Usar dados existentes, selecione Backup.

  4. Selecione um backup na lista de backups de restauração geográfica disponíveis.

    Captura de tela das opções de novo banco de dados

Conclua o processo de criação de um novo banco de dados. Ao criar o banco de dados de instância, ele conterá o backup de restauração geográfica restaurado.

Restauração geográfica usando o PowerShell

Banco de Dados SQL

Para um script do PowerShell que mostra como executar a restauração geográfica para um único banco de dados, confira Usar o PowerShell para restaurar um único banco de dados para um ponto anterior no tempo.

Instância Gerenciada de SQL

Para um script do PowerShell que mostre como executar a restauração geográfica de um banco de dados de instância gerenciada, consulte Usar o PowerShell para restaurar um banco de dados de Instância Gerenciada para outra região geográfica.

Considerações sobre restauração geográfica

Não é possível executar uma restauração pontual em um banco de dados geográfico secundário. Você só pode fazer isso em um banco de dados primário. Para obter informações detalhadas sobre como usar a restauração geográfica para se recuperar de uma interrupção, consulte Recuperação de uma interrupção.

Importante

A restauração geográfica é a solução mais básica para recuperação de desastre disponível no Banco de Dados SQL e na Instância Gerenciada de SQL. Ela se baseia em backups de replicação geográfica criados com um RPO (objetivo de ponto de recuperação) de até 1 hora e um tempo de recuperação estimado de até 12 horas. Ela não garante que a região de destino terá a capacidade de restaurar seus bancos de dados após uma interrupção regional, devido à possibilidade de um grande aumento de demanda. Se seu aplicativo usar bancos de dados relativamente pequenos e não for essencial para os negócios, a restauração geográfica será uma solução de recuperação de desastre apropriada.

Para aplicativos comercialmente críticos que exigem grandes bancos de dados e devem garantir a continuidade dos negócios, use grupos de failover automático. Eles oferecem RPO e objetivo de tempo de recuperação menores e há sempre a garantia de capacidade.

Para obter mais informações sobre as opções de continuidade dos negócios, confira Visão geral de continuidade de negócios.

Recuperação programática usando os backups automatizados

Você também pode usar Azure PowerShell ou a API REST para recuperação. As tabelas a seguir descrevem o conjunto de comandos disponíveis.

PowerShell

Observação

Este artigo usa o módulo do PowerShell Azure Az, que é o módulo do PowerShell recomendado para interagir com o Azure. Para começar a usar o módulo do Az PowerShell, confira Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Importante

O módulo Azure Resource Manager do PowerShell ainda tem suporte do Banco de Dados SQL e a Instância Gerenciada de SQL, mas todo o desenvolvimento futuro é para o módulo Az.Sql. Para esses cmdlets, confira AzureRM.Sql. Os argumentos para os comandos no módulo Az e nos módulos Azure Resource Manager são, em grande parte, idênticos.

Observação

Os pontos de restauração representam um período entre o ponto de restauração mais antigo e o último ponto de backup de log. As informações sobre o ponto de restauração mais recente não estão disponíveis no momento no Azure PowerShell.

Banco de Dados SQL

Para restaurar um banco de dados autônomo ou em pool, confira Restore-AzSqlDatabase.

Cmdlet Descrição
Get-AzSqlDatabase Obtém um ou mais bancos de dados.
Get-AzSqlDeletedDatabaseBackup Obtém um banco de dados excluído que você pode restaurar.
Get-AzSqlDatabaseGeoBackup Obtém um backup com redundância geográfica de um banco de dados.
Restore-AzSqlDatabase Restaura um banco de dados.

Dica

Para ver um exemplo de script do PowerShell que mostra como executar uma recuperação pontual de um banco de dados, confira Restaurar um banco de dados usando o PowerShell.

Instância Gerenciada de SQL

Para restaurar um banco de dados de instância gerenciada, consulte Restore-AzSqlInstanceDatabase.

Cmdlet Descrição
Get-AzSqlInstance Obtém uma ou mais instâncias gerenciadas.
Get-AzSqlInstanceDatabase Obtém um banco de dados de instância.
Restore-AzSqlInstanceDatabase Restaura um banco de dados de instância.

API REST

Para restaurar um banco de dados usando a API REST:

API Descrição
REST (createMode=Recovery) Restaura um banco de dados.
Obter, Criar ou Atualizar o Status de um Banco de Dados Retorna o status durante uma operação de restauração.

CLI do Azure

Banco de Dados SQL

Para restaurar um banco de dados usando a CLI do Azure, confira az sql db restore.

Instância Gerenciada de SQL

Para restaurar um banco de dados de instância gerenciada usando a CLI do Azure, consulte az sql midb restore.

Resumo

Backups automáticos protegem seus bancos de dados contra erros de usuário e de aplicativo, exclusão acidental do banco de dados e interrupções prolongadas. Essa funcionalidade interna está disponível para todas as camadas de serviço e tamanhos da computação.

Próximas etapas