Udostępnij za pośrednictwem


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

  1. Otwórz program PowerShell.

  2. Połącz się z kontem platformy Azure.

  3. Ustaw kontekst na subskrypcję zawierającą serwer, który został porzucony.

  4. Określ przybliżoną datę/godzinę porzucenia serwera.

  5. Skonstruuj identyfikator zasobu bazy danych, którą chcesz odzyskać z usuniętego serwera.

  6. Przywracanie bazy danych z usuniętego serwera

  7. 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ę.