Compartilhar via


Restaurar um pool de SQL dedicado (anteriormente SQL DW) de um servidor excluído

Neste artigo, você aprenderá a restaurar um pool de SQL dedicado (anteriormente SQL DW) no Azure Synapse Analytics após uma queda acidental de um servidor usando o PowerShell.

Observação

Essas diretrizes são apenas para pools de SQL dedicados autônomos (anteriormente SQL DW). Para pools de SQL dedicados em um workspace do Azure Synapse Analytics, confira Restaurar pool de SQL do workspace excluído.

Antes de começar

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Para começar, 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.

Restaurar o pool de SQL do servidor excluído

  1. Abra o PowerShell.

  2. Conectar-se à sua conta do Azure.

  3. Defina o contexto para a assinatura que contém o servidor que foi removido.

  4. Especifique o datetime aproximado em que o servidor foi removido.

  5. Construa a ID do recurso para o banco de dados que você quer recuperar do servidor removido.

  6. Restaurar o banco de dados do servidor removido

  7. Verifique o status do banco de dados recuperado como 'online'.

$SubscriptionID="<YourSubscriptionID>"
$ResourceGroupName="<YourResourceGroupName>"
$ServerName="<YourServerNameWithoutURLSuffixSeeNote>"  # Without database.windows.net
$DatabaseName="<YourDatabaseName>"
$TargetServerName="<YourtargetServerNameWithoutURLSuffixSeeNote>"  
$TargetDatabaseName="<YourDatabaseName>"

Connect-AzAccount
Set-AzContext -SubscriptionId $SubscriptionID

# Define the approximate point in time the server was dropped as DroppedDateTime "yyyy-MM-ddThh:mm:ssZ" (ex. 2022-01-01T16:15:00Z)
$PointInTime="<DroppedDateTime>" 
$DroppedDateTime = Get-Date -Date $PointInTime 

# construct the resource ID of the database you wish to recover. The format required Microsoft.Sql. This includes the approximate date time the server was dropped.
$SourceDatabaseID = "/subscriptions/"+$SubscriptionID+"/resourceGroups/"+$ResourceGroupName+"/providers/Microsoft.Sql/servers/"+$ServerName+"/restorableDroppedDatabases/"+$DatabaseName+","+$DroppedDateTime.ToUniversalTime().ToFileTimeUtc().ToString()

# Restore to target workspace with the source database.
$RestoredDatabase = Restore-AzSqlDatabase -FromDeletedDatabaseBackup -DeletionDate $DroppedDateTime -ResourceGroupName $ResourceGroupName -ServerName $TargetServerName -TargetDatabaseName $TargetDatabaseName -ResourceId $SourceDatabaseID 

# Verify the status of restored database
$RestoredDatabase.status

Solução de problemas

Se a mensagem "Ocorreu um erro inesperado ao processar a solicitação." for recebida, significa que o banco de dados original poderá não ter pontos de recuperação disponíveis devido à curta duração do servidor original. Normalmente, isso ocorre quando o servidor existe há menos de uma hora.