Przywracanie dedykowanej puli SQL z usuniętego obszaru roboczego
Z tego artykułu dowiesz się, jak przywrócić dedykowaną pulę SQL w usłudze Azure Synapse Analytics po przypadkowym usunięciu obszaru roboczego przy użyciu programu PowerShell.
Uwaga
Te wskazówki dotyczą tylko dedykowanych pul SQL w obszarach roboczych usługi Azure Synapse. W przypadku autonomicznych dedykowanych pul SQL (zwanych wcześniej SQL DW) postępuj zgodnie ze wskazówkami Przywracanie puli SQL z usuniętego serwera.
Zanim rozpoczniesz
Uwaga
Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. 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 obszaru roboczego
Poniższy przykładowy skrypt wykonuje następujące kroki:
Otwórz program PowerShell.
Połącz się z kontem platformy Azure.
Ustaw kontekst na subskrypcję zawierającą obszar roboczy, który został porzucony.
Określ datę/godzinę porzuconego obszaru roboczego. Ten krok pobiera dokładną datę i godzinę porzucenia puli SQL obszaru roboczego.
- W tym kroku przyjęto założenie, że obszar roboczy o tej samej nazwie grupy zasobów i te same wartości są nadal dostępne.
- Jeśli nie, utwórz ponownie porzucony obszar roboczy o tej samej nazwie obszaru roboczego, nazwie grupy zasobów, regionie i wszystkich tych samych wartości z wcześniejszego porzuconego obszaru roboczego.
Skonstruuj ciąg identyfikator zasobu puli SQL, którą chcesz odzyskać. Format wymaga .
Microsoft.Sql
Obejmuje to datę i godzinę porzucenia serwera.Przywróć bazę danych z usuniętego obszaru roboczego. Przywróć docelowy obszar roboczy za pomocą źródłowej puli SQL.
Sprawdź stan odzyskanej bazy danych jako „online”.
$SubscriptionID = "<YourSubscriptionID>" $ResourceGroupName = "<YourResourceGroupName>" $WorkspaceName = "<YourWorkspaceNameWithoutURLSuffixSeeNote>" # Without sql.azuresynapse.net $DatabaseName = "<YourDatabaseName>" $TargetResourceGroupName = "<YourTargetResourceGroupName>" $TargetWorkspaceName = "<YourtargetServerNameWithoutURLSuffixSeeNote>" $TargetDatabaseName = "<YourDatabaseName>" Connect-AzAccount Set-AzContext -SubscriptionID $SubscriptionID # Get the exact date and time the workspace SQL pool was dropped. # This assumes that the workspace with the same name resource group and same values is still available. # If not, recreate the dropped workspace with the same workspace name, resource group name, region, # and all the same values from prior dropped workspace. # There should only be one selection to select from. $paramsGetDroppedSqlPool = @{ ResourceGroupName = $ResourceGroupName WorkspaceName = $WorkspaceName Name = $DatabaseName } $DroppedDateTime = Get-AzSynapseDroppedSqlPool @paramsGetDroppedSqlPool ` | Select-Object -ExpandProperty DeletionDate # Construct a string of the resource ID of the sql pool you wish to recover. # The format requires 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. $paramsRestoreSqlPool = @{ FromDroppedSqlPool = $true DeletionDate = $DroppedDateTime TargetSqlPoolName = $TargetDatabaseName ResourceGroupName = $TargetResourceGroupName WorkspaceName = $TargetWorkspaceName ResourceId = $SourceDatabaseID } $RestoredDatabase = Restore-AzSynapseSqlPool @paramsRestoreSqlPool # Verify the status of restored database $RestoredDatabase.status
Rozwiązywanie problemów
Jeśli podczas przetwarzania żądania zostanie wyświetlony komunikat "Wystąpił nieoczekiwany błąd", oryginalna baza danych może nie mieć żadnych dostępnych punktów odzyskiwania z powodu krótkiego życia oryginalnego obszaru roboczego. Zazwyczaj jest to sytuacja, w której obszar roboczy istniał przez mniej niż jedną godzinę.