Восстановление выделенного пула SQL (ранее SQL DW) из удаленного сервера

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

Примечание

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

Перед началом

Примечание

Для взаимодействия с Azure рекомендуется использовать модуль Azure Az PowerShell. Чтобы начать работу, см. статью Установка Azure 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

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

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