Freigeben über


Wiederherstellen eines dedizierten SQL-Pools (früher SQL DW) von einem gelöschten Server

In diesem Artikel erfahren Sie, wie Sie einen dedizierten SQL-Pool (vormals SQL DW) in Azure Synapse Analytics nach einem versehentlichen Ablegen eines Servers mithilfe von PowerShell wiederherstellen.

Hinweis

Diese Anleitung gilt nur für eigenständige dedizierte SQL-Pools (vormals SQL DW). Informationen zu dedizierten SQL-Pools in einem Azure Synapse Analytics-Arbeitsbereich finden Sie unter "Wiederherstellen des SQL-Pools aus gelöschtem Arbeitsbereich".

Bevor Sie beginnen

Hinweis

Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Wiederherstellen des SQL-Pools vom gelöschten Server

  1. Öffnen Sie PowerShell.

  2. Stellen Sie eine Verbindung mit Ihrem Azure-Konto her.

  3. Legen Sie den Kontext auf das Abonnement fest, das den Server enthält, der gelöscht wurde.

  4. Geben Sie die ungefähre Uhrzeit an, zu der der Server verworfen wurde.

  5. Erstellen Sie die Ressourcen-ID für die Datenbank, die Sie vom verworfenen Server wiederherstellen möchten.

  6. Wiederherstellen der Datenbank vom abgelegten Server

  7. Vergewissern Sie sich, dass der Status der wiederhergestellten Datenbank „online“ ist.

$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

Problembehandlung

Wenn die Meldung "Beim Verarbeiten der Anforderung ist ein unerwarteter Fehler aufgetreten" angezeigt wird, könnte es sein, dass die ursprüngliche Datenbank aufgrund der kurzen Betriebsdauer des ursprünglichen Servers keine Wiederherstellungspunkte zur Verfügung hat. In der Regel ist dies der Fall, wenn der Server für weniger als eine Stunde vorhanden ist.