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