Återställa en dedikerad SQL-pool från en borttagen arbetsyta
I den här artikeln får du lära dig hur du återställer en dedikerad SQL-pool i Azure Synapse Analytics efter en oavsiktlig borttagning av en arbetsyta med Hjälp av PowerShell.
Kommentar
Den här vägledningen gäller endast för dedikerade SQL-pooler i Azure Synapse arbetsytor. För fristående dedikerade SQL-pooler (tidigare SQL DW) följer du vägledningen Återställa SQL-pool från borttagen server.
Innan du börjar
Kommentar
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
Återställa SQL-poolen från den borttagna arbetsytan
Följande exempelskript utför följande steg:
Öppna PowerShell
Anslut till ditt Azure-konto.
Ange kontexten till den prenumeration som innehåller arbetsytan som togs bort.
Fastställ den datetime som arbetsytan togs bort. Det här steget hämtar exakt datum och tid då SQL-poolen för arbetsytan togs bort.
- Det här steget förutsätter att arbetsytan med samma namn på resursgruppen och samma värden fortfarande är tillgänglig.
- Annars återskapar du den borttagna arbetsytan med samma arbetsytenamn, resursgruppsnamn, region och alla samma värden från tidigare borttagen arbetsyta.
Skapa en sträng med resurs-ID:t för den SQL-pool som du vill återställa. Formatet kräver
Microsoft.Sql
. Detta inkluderar datum och tid då servern togs bort.Återställ databasen från den borttagna arbetsytan. Återställ till målarbetsytan med sql-källpoolen.
Kontrollera statusen för den återställda databasen som "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
Felsöka
Om "Ett oväntat fel uppstod när begäran bearbetades." tas meddelandet emot, kanske den ursprungliga databasen inte har några återställningspunkter tillgängliga på grund av att den ursprungliga arbetsytan är kortvarig. Det här är vanligtvis när arbetsytan fanns i mindre än en timme.