Restaurar um conjunto de SQL dedicado a partir de uma área de trabalho eliminada.
Neste artigo, você aprenderá a restaurar um pool SQL dedicado no Azure Synapse Analytics após uma queda acidental de um espaço de trabalho usando o PowerShell.
Nota
Esta documentação de orientação destina-se apenas a conjuntos de SQL dedicados em áreas de trabalho Azure Synapse. Para conjuntos de SQL dedicados autónomos (anteriormente SQL DW), siga a documentação de orientação Restaurar o conjunto de sql a partir do servidor eliminado.
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 espaço de trabalho descartado
O script de exemplo a seguir realiza estas etapas:
Abrir o PowerShell
Ligar à sua conta do Azure
Defina o contexto para a subscrição que contém a área de trabalho que foi removida.
Determine a data em que o espaço de trabalho foi descartado. Esta etapa recupera a data e a hora exatas em que o pool SQL do espaço de trabalho foi descartado.
- Esta etapa pressupõe que o espaço de trabalho com o mesmo nome, grupo de recursos e os mesmos valores ainda esteja disponível.
- Caso contrário, recrie o espaço de trabalho descartado com o mesmo nome do espaço de trabalho, nome do grupo de recursos, região e todos os mesmos valores do espaço de trabalho descartado anterior.
Construa uma cadeia de caracteres o ID do recurso do pool sql que você deseja recuperar. O formato requer
Microsoft.Sql
. Isso inclui a data e a hora em que o servidor foi descartado.Restaure o banco de dados a partir do espaço de trabalho descartado. Restaure para o espaço de trabalho de destino com o pool SQL de origem.
Verifique o estado da base de dados recuperada como "online".
$SubscriptionID = "<YourSubscriptionID>" $ResourceGroupName = "<YourResourceGroupName>" $WorkspaceName = "<YourWorkspaceNameWithoutURLSuffixSeeNote>" # Without sql.azuresynapse.net $DatabaseName = "<YourDatabaseName>" $TargetResourceGroupName = "<YourTargetResourceGroupName>" $TargetWorkspaceName = "<YourtargetServerNameWithoutURLSuffixSeeNote>" $TargetDatabaseName = "<YourDatabaseName>" Connect-AzAccount Set-AzContext -SubscriptionID $SubscriptionID # Get the exact date and time the workspace SQL pool was dropped. # This assumes that the workspace with the same name resource group and same values is still available. # If not, recreate the dropped workspace with the same workspace name, resource group name, region, # and all the same values from prior dropped workspace. # There should only be one selection to select from. $paramsGetDroppedSqlPool = @{ ResourceGroupName = $ResourceGroupName WorkspaceName = $WorkspaceName Name = $DatabaseName } $DroppedDateTime = Get-AzSynapseDroppedSqlPool @paramsGetDroppedSqlPool ` | Select-Object -ExpandProperty DeletionDate # Construct a string of the resource ID of the sql pool you wish to recover. # The format requires Microsoft.Sql. This includes the approximate date time the server was dropped. $SourceDatabaseID = "/subscriptions/$SubscriptionID/resourceGroups/$ResourceGroupName/providers/" ` + "Microsoft.Sql/servers/$WorkspaceName/databases/$DatabaseName" # Restore to the target workspace with the source SQL pool. $paramsRestoreSqlPool = @{ FromDroppedSqlPool = $true DeletionDate = $DroppedDateTime TargetSqlPoolName = $TargetDatabaseName ResourceGroupName = $TargetResourceGroupName WorkspaceName = $TargetWorkspaceName ResourceId = $SourceDatabaseID } $RestoredDatabase = Restore-AzSynapseSqlPool @paramsRestoreSqlPool # Verify the status of restored database $RestoredDatabase.status
Resolver 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 ao espaço de trabalho original ser de curta duração. Normalmente, ocorre quando o espaço de trabalho existe por menos de uma hora.