Restaurar um conjunto de SQL dedicado (anteriormente SQL DW) a partir de um servidor eliminado

Neste artigo, vai aprender a restaurar um conjunto de SQL dedicado (anteriormente SQL DW) no Azure Synapse Analytics após uma queda acidental de um servidor com o PowerShell.

Nota

Esta orientação destina-se apenas a conjuntos de SQL dedicados autónomos (anteriormente SQL DW). Para conjuntos de SQL dedicados numa área de trabalho do Azure Synapse Analytics, veja Restaurar o conjunto de SQL a partir da área de trabalho eliminada.

Antes de começar

Nota

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

Restaurar o conjunto de SQL a partir do servidor eliminado

  1. Abra o PowerShell.

  2. Ligue-se à sua conta do Azure.

  3. Defina o contexto para a subscrição que contém o servidor que foi removido.

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

  5. Construa o ID de recurso da base de dados que pretende recuperar do servidor removido.

  6. Restaurar a base de dados a partir do servidor removido

  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 for recebida a mensagem "Ocorreu um erro inesperado ao processar o pedido", a base de dados original poderá não ter quaisquer pontos de recuperação disponíveis devido ao servidor original ser de curta duração. Normalmente, é quando o servidor existia durante menos de uma hora.