Restaurer un pool SQL dédié à partir d’un espace de travail supprimé

Dans cet article, vous allez apprendre à restaurer un pool SQL dédié dans Azure Synapse Analytics après la suppression accidentelle d’un espace de travail avec PowerShell.

Notes

Ces conseils d’aide concernent uniquement les pools SQL dédiés dans les espaces de travail Azure Synapse. Pour les pools SQL dédiés autonomes (anciennement SQL DW), suivez les conseils d’aide fournis dans Restaurer un pool SQL à partir d’un serveur supprimé.

Avant de commencer

Notes

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Restaurer le pool SQL à partir de l’espace de travail supprimé

  1. Ouvrez PowerShell

  2. Connectez-vous à votre compte Azure.

  3. Définissez le contexte sur l’abonnement contenant l’espace de travail supprimé.

  4. Spécifiez la date et l’heure approximatives de la suppression de l’espace de travail.

  5. Construisez l’ID de ressource de la base de données que vous souhaitez récupérer à partir de l’espace de travail supprimé.

  6. Restaurer la base de données à partir de l’espace de travail supprimé

  7. Vérifiez que l’état de la base de données récupérée est « en ligne ».

    $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
    

Résolution des problèmes

Si vous recevez le message « Une erreur inattendue s’est produite lors du traitement de la requête », la base de données d’origine peut ne pas avoir de points de récupération disponibles en raison de la courte durée de vie de l’espace de travail d’origine. En général, cela se produit lorsque l’espace de travail existe depuis moins d’une heure.