Dela via


Återställa en dedikerad SQL-pool från en borttagen arbetsyta

I den här artikeln får du lära dig hur du återställer en dedikerad SQL-pool i Azure Synapse Analytics efter en oavsiktlig borttagning av en arbetsyta med Hjälp av PowerShell.

Kommentar

Den här vägledningen gäller endast för dedikerade SQL-pooler i Azure Synapse arbetsytor. För fristående dedikerade SQL-pooler (tidigare SQL DW) följer du vägledningen Återställa SQL-pool från borttagen server.

Innan du börjar

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Återställa SQL-poolen från den borttagna arbetsytan

Följande exempelskript utför följande steg:

  1. Öppna PowerShell

  2. Anslut till ditt Azure-konto.

  3. Ange kontexten till den prenumeration som innehåller arbetsytan som togs bort.

  4. Fastställ den datetime som arbetsytan togs bort. Det här steget hämtar exakt datum och tid då SQL-poolen för arbetsytan togs bort.

    • Det här steget förutsätter att arbetsytan med samma namn på resursgruppen och samma värden fortfarande är tillgänglig.
    • Annars återskapar du den borttagna arbetsytan med samma arbetsytenamn, resursgruppsnamn, region och alla samma värden från tidigare borttagen arbetsyta.
  5. Skapa en sträng med resurs-ID:t för den SQL-pool som du vill återställa. Formatet kräver Microsoft.Sql. Detta inkluderar datum och tid då servern togs bort.

  6. Återställ databasen från den borttagna arbetsytan. Återställ till målarbetsytan med sql-källpoolen.

  7. Kontrollera statusen för den återställda databasen som "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
    

Felsöka

Om "Ett oväntat fel uppstod när begäran bearbetades." tas meddelandet emot, kanske den ursprungliga databasen inte har några återställningspunkter tillgängliga på grund av att den ursprungliga arbetsytan är kortvarig. Det här är vanligtvis när arbetsytan fanns i mindre än en timme.