Partilhar via


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

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

Nota

Esta orientação é apenas para pools SQL dedicados autônomos (anteriormente SQL DW). Para pools SQL dedicados em um espaço de trabalho do Azure Synapse Analytics, consulte Restaurar pool SQL do espaço de trabalho excluído.

Antes de começar

Nota

Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Restaurar o pool SQL a partir do servidor excluído

  1. Abra o PowerShell.

  2. Ligar à sua conta do Azure

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

  4. Especifique a data aproximada em que o servidor foi descartado.

  5. Construa o ID do recurso para o banco de dados que você deseja recuperar do servidor descartado.

  6. Restaurar o banco de dados a partir do servidor descartado

  7. Verifique o estado da base de dados recuperada 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

Resolução de Problemas

Se a mensagem "Ocorreu um erro inesperado durante o processamento da solicitação." for recebida, o banco de dados original pode não ter nenhum ponto de recuperação disponível devido à vida curta do servidor original. Normalmente, isso ocorre quando o servidor existiu por menos de uma hora.