Восстановление выделенного пула SQL из удаленной рабочей области
Из этой статьи вы узнаете, как восстановить выделенный пул SQL в Azure Synapse Analytics после случайного сброса рабочей области с помощью PowerShell.
Примечание.
Это руководство предназначено только для выделенных пулов SQL в рабочих областях Azure Synapse. Для автономных выделенных пулов SQL (ранее — хранилище данных SQL) следуйте инструкциям из статьи Восстановление пула SQL с удаленного сервера.
Подготовка к работе
Примечание.
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.
Восстановление пула SQL из удаленной рабочей области
Следующий пример скрипта выполняет следующие действия.
Откройте PowerShell.
Подключитесь к своей учетной записи Azure.
Задайте контекст для подписки, содержащей удаленную рабочую область.
Определите дату удаления рабочей области. На этом шаге извлекается точную дату и время удаления пула SQL рабочей области.
- На этом шаге предполагается, что рабочая область с той же группой ресурсов имен и теми же значениями по-прежнему доступна.
- В противном случае повторно создайте удаленную рабочую область с тем же именем рабочей области, именем группы ресурсов, регионом и всеми теми же значениями из предыдущей удаленной рабочей области.
Создайте строку идентификатора ресурса пула SQL, который вы хотите восстановить. Требуется
Microsoft.Sql
формат. Сюда входят дата и время удаления сервера.Восстановите базу данных из удаленной рабочей области. Восстановите целевую рабочую область с помощью исходного пула SQL.
Убедитесь, что состояние восстановленной базы данных - "в сети".
$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
Устранение неполадок
Если при обработке запроса произошла непредвиденная ошибка." Исходная база данных может не иметь точек восстановления из-за нехватки времени существования исходной рабочей области. Обычно это происходит, когда рабочая область существует менее одного часа.