Ripristinare un pool SQL dedicato da un'area di lavoro eliminata

Questo articolo illustra come ripristinare un pool SQL dedicato in Azure Synapse Analytics dopo un rilascio accidentale di un'area di lavoro usando PowerShell.

Nota

Queste indicazioni sono esclusivamente per i pool SQL dedicati nelle aree di lavoro Azure Synapse. Per i pool SQL dedicati autonomi (in precedenza SQL DW), seguire le indicazioni in Ripristinare il pool SQL dal server eliminato.

Operazioni preliminari

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Ripristinare il pool SQL dall'area di lavoro eliminata

  1. Aprire PowerShell

  2. Connettersi all'account di Azure.

  3. Impostare il contesto sulla sottoscrizione contenente l'area di lavoro eliminata.

  4. Specificare il valore datetime approssimativo di eliminazione dell'area di lavoro.

  5. Creare l'ID risorsa per il database da ripristinare dall'area di lavoro eliminata.

  6. Ripristinare il database dall'area di lavoro eliminata

  7. Verificare lo stato del database ripristinato come "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
    

Risoluzione dei problemi

Se viene ricevuto il messaggio "Si è verificato un errore imprevisto durante l'elaborazione della richiesta", il database originale potrebbe non avere punti di ripristino disponibili a causa della breve durata dell'area di lavoro originale. In genere si tratta di quando l'area di lavoro esiste per meno di un'ora.