Ayrılmış SQL havuzunu silinmiş bir çalışma alanından geri yükleme
Bu makalede, PowerShell kullanarak çalışma alanının yanlışlıkla bırakılmasının ardından Azure Synapse Analytics'te ayrılmış bir SQL havuzunu geri yüklemeyi öğreneceksiniz.
Not
Bu kılavuz, yalnızca Azure Synapse çalışma alanlarındaki ayrılmış SQL havuzlarına yöneliktir. Tek başına ayrılmış SQL havuzları (eski adıyla SQL DW) için, SQL havuzunu silinen sunucudan geri yükleme kılavuzunu takip edin.
Başlamadan önce
Not
Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz . Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Bırakılan çalışma alanından SQL havuzunu geri yükleme
Aşağıdaki örnek betik şu adımları gerçekleştirir:
PowerShell’i açın
Azure hesabınıza bağlanın.
Bağlamı, bırakılan çalışma alanını içeren aboneliğe ayarlayın.
Çalışma alanının bırakıldığı tarih saat değerini belirleyin. Bu adım, çalışma alanı SQL havuzunun bırakıldığı tam tarihi ve saati alır.
- Bu adımda, aynı ad kaynak grubuna ve aynı değerlere sahip çalışma alanının hala kullanılabilir olduğu varsayılır.
- Aksi takdirde, bırakılan çalışma alanını aynı çalışma alanı adı, kaynak grubu adı, bölge ve bırakılan önceki çalışma alanından alınan tüm aynı değerlerle yeniden oluşturun.
Kurtarmak istediğiniz SQL havuzunun kaynak kimliğini bir dize oluşturun. Biçimi için
Microsoft.Sql
gerekir. Bu, sunucunun bırakıldığı tarih ve saati içerir.Bırakılan çalışma alanından veritabanını geri yükleyin. Kaynak SQL havuzuyla hedef çalışma alanına geri yükleyin.
Kurtarılan veritabanının durumunu 'çevrimiçi' olarak doğrulayın.
$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
Sorun giderme
"İstek işlenirken beklenmeyen bir hata oluştu" iletisi alınırsa, özgün çalışma alanının kısa süreli olması nedeniyle özgün veritabanında kullanılabilir kurtarma noktası olmayabilir. Genellikle bu, çalışma alanının bir saatten kısa bir süre var olduğu durumdur.