Przywracanie dedykowanej puli SQL (dawniej SQL DW) z usuniętego serwera
Z tego artykułu dowiesz się, jak przywrócić dedykowaną pulę SQL (dawniej SQL DW) w usłudze Azure Synapse Analytics po przypadkowym usunięciu serwera przy użyciu programu PowerShell.
Uwaga
Te wskazówki dotyczą tylko autonomicznych dedykowanych pul SQL (dawniej SQL DW). W przypadku dedykowanych pul SQL w obszarze roboczym usługi Azure Synapse Analytics zobacz Przywracanie puli SQL z usuniętego obszaru roboczego.
Zanim rozpoczniesz
Uwaga
Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
Przywracanie puli SQL z usuniętego serwera
Otwórz program PowerShell.
Połącz się z kontem platformy Azure.
Ustaw kontekst na subskrypcję zawierającą serwer, który został porzucony.
Określ przybliżoną datę/godzinę porzucenia serwera.
Skonstruuj identyfikator zasobu bazy danych, którą chcesz odzyskać z usuniętego serwera.
Przywracanie bazy danych z usuniętego serwera
Sprawdź stan odzyskanej bazy danych jako „online”.
$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
Rozwiązywanie problemów
Jeśli podczas przetwarzania żądania zostanie odebrany nieoczekiwany błąd, oryginalna baza danych może nie mieć żadnych punktów odzyskiwania, ponieważ oryginalny serwer jest krótkotrwały. Zazwyczaj jest to sytuacja, w której serwer istniał przez mniej niż jedną godzinę.