Restaurar um conjunto de SQL dedicado (anteriormente SQL DW) a partir de um servidor eliminado
Neste artigo, irá 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 documentação de orientação destina-se apenas a conjuntos de SQL dedicados autónomos (anteriormente APENAS SQL DW). Para conjuntos de SQL dedicados numa área de trabalho do Azure Synapse Analytics, veja Restaurar o conjunto de SQL da área de trabalho eliminada.
Antes de começar
Nota
Recomendamos que utilize o módulo do Azure Az PowerShell para interagir com o Azure. Veja Instalar o 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
Abra o PowerShell.
Ligue-se à sua conta do Azure.
Defina o contexto para a subscrição que contém o servidor que foi removido.
Especifique o datetime aproximado em que o servidor foi removido.
Construa o ID de recurso da base de dados que pretende recuperar do servidor removido.
Restaurar a base de dados a partir do servidor removido
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 durante o processamento do pedido", a base de dados original poderá não ter pontos de recuperação disponíveis devido ao servidor original ser de curta duração. Normalmente, é quando o servidor existia há menos de uma hora.