Поделиться через


Восстановление выделенного пула SQL (ранее — хранилище данных SQL) с удаленного сервера

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

Примечание.

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

Перед тем как начать

Примечание.

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

Восстановление пула SQL с удаленного сервера

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

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

  3. Задайте контекст для подписки, содержащей удаленный сервер.

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

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

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

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

$SubscriptionID="<YourSubscriptionID>"
$ResourceGroupName="<YourResourceGroupName>"
$ServerName="<YourServerNameWithoutURLSuffixSeeNote>"  # Without database.windows.net
$DatabaseName="<YourDatabaseName>"
$TargetServerName="<YourtargetServerNameWithoutURLSuffixSeeNote>"  
$TargetDatabaseName="<YourDatabaseName>"

Connect-AzAccount
Set-AzContext -SubscriptionId $SubscriptionID

# Define the approximate point in time the server 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 database 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/"+$ServerName+"/restorableDroppedDatabases/"+$DatabaseName+","+$DroppedDateTime.ToUniversalTime().ToFileTimeUtc().ToString()

# Restore to target workspace with the source database.
$RestoredDatabase = Restore-AzSqlDatabase -FromDeletedDatabaseBackup -DeletionDate $DroppedDateTime -ResourceGroupName $ResourceGroupName -ServerName $TargetServerName -TargetDatabaseName $TargetDatabaseName -ResourceId $SourceDatabaseID 

# Verify the status of restored database
$RestoredDatabase.status

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

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