Восстановление выделенного пула SQL из удаленной рабочей области

Из этой статьи вы узнаете, как восстановить выделенный пул SQL в Azure Synapse Analytics после случайного сброса рабочей области с помощью PowerShell.

Примечание.

Это руководство предназначено только для выделенных пулов SQL в рабочих областях Azure Synapse. Для автономных выделенных пулов SQL (ранее — хранилище данных SQL) следуйте инструкциям из статьи Восстановление пула SQL с удаленного сервера.

Подготовка к работе

Примечание.

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Восстановление пула SQL из удаленной рабочей области

  1. Откройте PowerShell.

  2. Подключитесь к своей учетной записи Azure.

  3. Задайте контекст для подписки, содержащей удаленную рабочую область.

  4. Укажите приблизительные дату и время удаления рабочей области.

  5. Создайте идентификатор ресурса для базы данных, которую вы хотите восстановить из удаленной рабочей области.

  6. Восстановление базы данных из удаленной рабочей области

  7. Убедитесь, что состояние восстановленной базы данных - "в сети".

    $SubscriptionID="<YourSubscriptionID>"
    $ResourceGroupName="<YourResourceGroupName>"
    $WorkspaceName="<YourWorkspaceNameWithoutURLSuffixSeeNote>"  # Without sql.azuresynapse.net
    $DatabaseName="<YourDatabaseName>"
    $TargetResourceGroupName="<YourTargetResourceGroupName>" 
    $TargetWorkspaceName="<YourtargetServerNameWithoutURLSuffixSeeNote>"  
    $TargetDatabaseName="<YourDatabaseName>"
    
    Connect-AzAccount
    Set-AzContext -SubscriptionID $SubscriptionID
    
    # Define the approximate point in time the workspace was dropped as DroppedDateTime "yyyy-MM-ddThh:mm:ssZ" (ex. 2022-01-01T16:15:00Z)
    $PointInTime="<DroppedDateTime>" 
    $DroppedDateTime = Get-Date -Date $PointInTime 
    
    
    # construct the resource ID of the sql pool you wish to recover. The format required 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.
    $RestoredDatabase = Restore-AzSynapseSqlPool -FromDroppedSqlPool -DeletionDate $DroppedDateTime -TargetSqlPoolName $TargetDatabaseName -ResourceGroupName $TargetResourceGroupName -WorkspaceName $TargetWorkspaceName -ResourceId $SourceDatabaseID
    
    # Verify the status of restored database
    $RestoredDatabase.status
    

Устранение неполадок

Если при обработке запроса произошла непредвиденная ошибка." Исходная база данных может не иметь точек восстановления из-за нехватки времени существования исходной рабочей области. Обычно это происходит, когда рабочая область существует менее одного часа.