Restaurar um banco de dados no Azure SQL Instância Gerenciada para um ponto anterior no tempoRestore a database in Azure SQL Managed Instance to a previous point in time

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

Use a restauração pontual (PITR) para criar um banco de dados como uma cópia de outro banco de dados de algum tempo no passado.Use point-in-time restore (PITR) to create a database as a copy of another database from some time in the past. Este artigo descreve como fazer uma restauração pontual de um banco de dados no Azure SQL Instância Gerenciada.This article describes how to do a point-in-time restore of a database in Azure SQL Managed Instance.

A restauração pontual é útil em cenários de recuperação, como incidentes causados por erros, dados carregados incorretamente ou exclusão de dados cruciais.Point-in-time restore is useful in recovery scenarios, such as incidents caused by errors, incorrectly loaded data, or deletion of crucial data. Você também pode usá-lo simplesmente para teste ou auditoria.You can also use it simply for testing or auditing. Os arquivos de backup são mantidos por 7 a 35 dias, dependendo das configurações do banco de dados.Backup files are kept for 7 to 35 days, depending on your database settings.

A restauração pontual pode restaurar um banco de dados:Point-in-time restore can restore a database:

  • de um banco de dados existente.from an existing database.
  • de um banco de dados excluído.from a deleted database.
  • para o mesmo SQL Instância Gerenciada ou para outro Instância Gerenciada do SQL.to the same SQL Managed Instance, or to another SQL Managed Instance.

LimitaçõesLimitations

A restauração pontual para o SQL Instância Gerenciada tem as seguintes limitações:Point-in-time restore to SQL Managed Instance has the following limitations:

  • Quando você estiver restaurando de uma instância do SQL Instância Gerenciada para outra, ambas as instâncias deverão estar na mesma assinatura e região.When you're restoring from one instance of SQL Managed Instance to another, both instances must be in the same subscription and region. A restauração entre regiões e entre assinaturas não tem suporte no momento.Cross-region and cross-subscription restore aren't currently supported.
  • A restauração pontual de um SQL Instância Gerenciada inteiro não é possível.Point-in-time restore of a whole SQL Managed Instance is not possible. Este artigo explica apenas o que é possível: restauração pontual de um banco de dados hospedado no SQL Instância Gerenciada.This article explains only what's possible: point-in-time restore of a database that's hosted on SQL Managed Instance.

Aviso

Esteja ciente do tamanho do armazenamento do seu Instância Gerenciada SQL.Be aware of the storage size of your SQL Managed Instance. Dependendo do tamanho dos dados a serem restaurados, você poderá ficar sem armazenamento de instância.Depending on size of the data to be restored, you might run out of instance storage. Se não houver espaço suficiente para os dados restaurados, use uma abordagem diferente.If there isn't enough space for the restored data, use a different approach.

A tabela a seguir mostra cenários de restauração pontual para o SQL Instância Gerenciada:The following table shows point-in-time restore scenarios for SQL Managed Instance:

Restaurar o banco de BD existente para a mesma instância do SQL Instância GerenciadaRestore existing DB to the same instance of SQL Managed Instance Restaurar o BD existente para outro SQL Instância GerenciadaRestore existing DB to another SQL Managed Instance Restaurar o banco de BD removido para o mesmo SQL Instância GerenciadaRestore dropped DB to same SQL Managed Instance Restaurar o BD removido para outro Instância Gerenciada do SQLRestore dropped DB to another SQL Managed Instance
Portal do AzureAzure portal SimYes NãoNo SimYes NãoNo
CLI do AzureAzure CLI SimYes SimYes NãoNo NãoNo
PowerShellPowerShell SimYes SimYes SimYes SimYes

Restaurar um banco de dados existenteRestore an existing database

Restaure um banco de dados existente para o mesmo SQL Instância Gerenciada usando o portal do Azure, o PowerShell ou o CLI do Azure.Restore an existing database to the same SQL Managed Instance using the Azure portal, PowerShell, or the Azure CLI. Para restaurar um banco de dados para outro Instância Gerenciada SQL, use o PowerShell ou o CLI do Azure para que você possa especificar as propriedades para o Instância Gerenciada de destino SQL e o grupo de recursos.To restore a database to another SQL Managed Instance, use PowerShell or the Azure CLI so you can specify the properties for the target SQL Managed Instance and resource group. Se você não especificar esses parâmetros, o banco de dados será restaurado para o SQL Instância Gerenciada existente por padrão.If you don't specify these parameters, the database will be restored to the existing SQL Managed Instance by default. Atualmente, o portal do Azure não dá suporte à restauração para outro Instância Gerenciada SQL.The Azure portal doesn't currently support restoring to another SQL Managed Instance.

  1. Entre no portal do Azure.Sign in to the Azure portal.

  2. Acesse o Instância Gerenciada do SQL e selecione o banco de dados que deseja restaurar.Go to your SQL Managed Instance and select the database that you want to restore.

  3. Selecione restaurar na página do banco de dados:Select Restore on the database page:

    Restaurar um banco de dados usando o portal do Azure

  4. Na página restaurar , selecione o ponto para a data e a hora em que você deseja restaurar o banco de dados.On the Restore page, select the point for the date and time that you want to restore the database to.

  5. Selecione confirmar para restaurar o banco de dados.Select Confirm to restore your database. Essa ação inicia o processo de restauração, que cria um novo banco de dados e popula-o com o banco de dados original no momento especificado.This action starts the restore process, which creates a new database and populates it with data from the original database at the specified point in time. Para obter mais informações sobre o processo de recuperação, consulte tempo de recuperação.For more information about the recovery process, see Recovery time.

Restaurar um banco de dados excluídoRestore a deleted database

A restauração de um banco de dados excluído pode ser feita usando o PowerShell ou portal do Azure.Restoring a deleted database can be done by using PowerShell or Azure portal. Para restaurar um banco de dados excluído para a mesma instância, use o portal do Azure ou o PowerShell.To restore a deleted database to the same instance, use either the Azure portal or PowerShell. Para restaurar um banco de dados excluído para outra instância, use o PowerShell.To restore a deleted database to another instance, use PowerShell.

PortalPortal

Para recuperar um banco de dados gerenciado usando o portal do Azure, abra a página Visão geral do SQL Instância Gerenciada e selecione bancos de dados excluídos.To recover a managed database using the Azure portal, open the SQL Managed Instance overview page, and select Deleted databases. Escolha um banco de dados excluído que você deseja restaurar e digite o nome do novo banco de dados que será criado com a data de restauração do backup.Choose a deleted database that you want to restore, and type the name for the new database that will be created with data restored from the backup.

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

.. /.. /sql-database../../sql-database

PowerShellPowerShell

Para restaurar um banco de dados para a mesma instância, atualize os valores de parâmetro e, em seguida, execute o seguinte comando do PowerShell:To restore a database to the same instance, update the parameter values and then run the following PowerShell command:

$subscriptionId = "<Subscription ID>"
Get-AzSubscription -SubscriptionId $subscriptionId
Select-AzSubscription -SubscriptionId $subscriptionId

$resourceGroupName = "<Resource group name>"
$managedInstanceName = "<SQL Managed Instance name>"
$deletedDatabaseName = "<Source database name>"
$targetDatabaseName = "<target database name>"

$deletedDatabase = Get-AzSqlDeletedInstanceDatabaseBackup -ResourceGroupName $resourceGroupName `
-InstanceName $managedInstanceName -DatabaseName $deletedDatabaseName

Restore-AzSqlinstanceDatabase -FromPointInTimeBackup -Name $deletedDatabase.Name `
   -InstanceName $deletedDatabase.ManagedInstanceName `
   -ResourceGroupName $deletedDatabase.ResourceGroupName `
   -DeletionDate $deletedDatabase.DeletionDate `
   -PointInTime UTCDateTime `
   -TargetInstanceDatabaseName $targetDatabaseName

Para restaurar o banco de dados para outro Instância Gerenciada do SQL, especifique também os nomes do grupo de recursos de destino e o SQL Instância Gerenciada de destino:To restore the database to another SQL Managed Instance, also specify the names of the target resource group and target SQL Managed Instance:

$targetResourceGroupName = "<Resource group of target SQL Managed Instance>"
$targetInstanceName = "<Target SQL Managed Instance name>"

Restore-AzSqlinstanceDatabase -FromPointInTimeBackup -Name $deletedDatabase.Name `
   -InstanceName $deletedDatabase.ManagedInstanceName `
   -ResourceGroupName $deletedDatabase.ResourceGroupName `
   -DeletionDate $deletedDatabase.DeletionDate `
   -PointInTime UTCDateTime `
   -TargetInstanceDatabaseName $targetDatabaseName `
   -TargetResourceGroupName $targetResourceGroupName `
   -TargetInstanceName $targetInstanceName 

Substituir um banco de dados existenteOverwrite an existing database

Para substituir um banco de dados existente, você deve:To overwrite an existing database, you must:

  1. Remova o banco de dados existente que você deseja substituir.Drop the existing database that you want to overwrite.
  2. Renomeie o banco de dados restaurado point-in-time para o nome do banco de dados que você removeu.Rename the point-in-time-restored database to the name of the database that you dropped.

Remover o banco de dados originalDrop the original database

Você pode remover o banco de dados usando o portal do Azure, o PowerShell ou o CLI do Azure.You can drop the database by using the Azure portal, PowerShell, or the Azure CLI.

Você também pode remover o banco de dados conectando-se ao SQL Instância Gerenciada diretamente, iniciando o SQL Server Management Studio (SSMS) e, em seguida, executando o seguinte comando Transact-SQL (T-SQL):You can also drop the database by connecting to the SQL Managed Instance directly, starting SQL Server Management Studio (SSMS), and then running the following Transact-SQL (T-SQL) command:

DROP DATABASE WorldWideImporters;

Use um dos seguintes métodos para se conectar ao banco de dados no SQL Instância Gerenciada:Use one of the following methods to connect to your database in the SQL Managed Instance:

No portal do Azure, selecione o banco de dados do Instância Gerenciada SQL e, em seguida, selecione excluir.In the Azure portal, select the database from the SQL Managed Instance, and then select Delete.

Excluir um banco de dados usando o portal do Azure

Alterar o novo nome do banco de dados para corresponder ao nome original do banco de dadosAlter the new database name to match the original database name

Conecte-se diretamente ao Instância Gerenciada do SQL e inicie o SQL Server Management Studio.Connect directly to the SQL Managed Instance and start SQL Server Management Studio. Em seguida, execute a seguinte consulta Transact-SQL (T-SQL).Then, run the following Transact-SQL (T-SQL) query. A consulta irá alterar o nome do banco de dados restaurado para o do banco de dados removido que você pretende substituir.The query will change the name of the restored database to that of the dropped database that you intend to overwrite.

ALTER DATABASE WorldWideImportersPITR MODIFY NAME = WorldWideImporters;

Use um dos seguintes métodos para se conectar ao banco de dados no SQL Instância Gerenciada:Use one of the following methods to connect to your database in SQL Managed Instance:

Próximas etapasNext steps

Saiba mais sobre backups automatizados.Learn about automated backups.