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 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 pool SQL a partir do espaço de trabalho descartado

  1. Abrir o PowerShell

  2. Ligar à sua conta do Azure

  3. Defina o contexto para a subscrição que contém a área de trabalho que foi removida.

  4. Especifique o datetime aproximado em que a área de trabalho foi removida.

  5. Construa o ID de recurso da base de dados que pretende recuperar a partir da área de trabalho removida.

  6. Restaurar a base de dados a partir da área de trabalho removida

  7. 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
    
    # Define the approximate point in time the workspace 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 sql pool 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/"+$WorkspaceName+"/databases/"+$DatabaseName
    
    # Restore to the target workspace with the source SQL pool.
    $RestoredDatabase = Restore-AzSynapseSqlPool -FromDroppedSqlPool -DeletionDate $DroppedDateTime -TargetSqlPoolName $TargetDatabaseName -ResourceGroupName $TargetResourceGroupName -WorkspaceName $TargetWorkspaceName -ResourceId $SourceDatabaseID
    
    # 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.