Restaurer un pool SQL dédié (anciennement SQL DW) à partir d’un serveur supprimé

Dans cet article, vous allez apprendre à restaurer un pool SQL dédié (anciennement SQL DW) dans Azure Synapse Analytics après la suppression accidentelle d’un serveur avec PowerShell.

Notes

Ces conseils d’aide s’appliquent uniquement aux pools SQL dédiés autonomes (anciennement SQL DW). Pour les pools SQL dédiés dans un espace de travail Azure Synapse Analytics, consultez Restaurer un pool SQL à partir d’un espace de travail 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 du serveur supprimé

  1. Ouvrez PowerShell.

  2. Connectez-vous à votre compte Azure.

  3. Définissez le contexte sur l’abonnement qui contient le serveur supprimé.

  4. Spécifiez la date et l’heure approximatives de la suppression du serveur.

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

  6. Restaurer la base de données à partir du serveur supprimé

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

$SubscriptionID="<YourSubscriptionID>"
$ResourceGroupName="<YourResourceGroupName>"
$ServerName="<YourServerNameWithoutURLSuffixSeeNote>"  # Without database.windows.net
$DatabaseName="<YourDatabaseName>"
$TargetServerName="<YourtargetServerNameWithoutURLSuffixSeeNote>"  
$TargetDatabaseName="<YourDatabaseName>"

Connect-AzAccount
Set-AzContext -SubscriptionId $SubscriptionID

# Define the approximate point in time the server 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 database 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/"+$ServerName+"/restorableDroppedDatabases/"+$DatabaseName+","+$DroppedDateTime.ToUniversalTime().ToFileTimeUtc().ToString()

# Restore to target workspace with the source database.
$RestoredDatabase = Restore-AzSqlDatabase -FromDeletedDatabaseBackup -DeletionDate $DroppedDateTime -ResourceGroupName $ResourceGroupName -ServerName $TargetServerName -TargetDatabaseName $TargetDatabaseName -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 demande », 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 du serveur d’origine. En général, cela se produit lorsque le serveur existe depuis moins d’une heure.