Восстановление существующего выделенного пула SQL (прежнее название — Хранилище данных SQL)
Из этой статьи вы узнаете, как восстановить существующий выделенный пул SQL (прежнее название — хранилище данных SQL) с помощью портал Azure и PowerShell.
Примечание.
Это руководство предназначено только для автономных выделенных пулов SQL (ранее — хранилище данных SQL). Сведения о выделенных пулах SQL в рабочей области Azure Synapse Analytics см. в статье "Восстановление существующего выделенного пула SQL".
Подготовка к работе
Проверьте ресурсы DTU. Каждый пул размещается логическим СЕРВЕРом SQL Server (например,
myserver.database.windows.net
), который имеет квоту DTU по умолчанию. Убедитесь, что у сервера осталось достаточно DTU для восстановления базы данных. Чтобы узнать, как вычислить необходимое количество DTU или запросить дополнительные единицы DTU, ознакомьтесь с разделом Создание запроса в службу поддержки.Не забудьте установить Azure PowerShell.
Примечание.
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.
Убедитесь в наличии точки восстановления, из которой необходимо выполнить восстановление. Если вы хотите создать новое восстановление, см. руководство по созданию точки восстановления, определенной пользователем.
Разрешения. Убедитесь, что пользователь, выполняющий восстановление, должен иметь соответствующие разрешения как в исходной, так и в целевой подписках.
Задача Требуемая роль (минимум) Дополнительные требования Резервное копирование исходного пула SQL Участник SQL Server (исходный сервер) Требуется доступ к учетной записи хранения с участником данных BLOB-объектов хранилища Доступ к файлу резервного копирования Средство чтения данных BLOB-объектов хранилища (в учетной записи хранения) Восстановление на целевом сервере Участник SQL Server (целевой сервер) Требуется средство чтения данных BLOB-объектов хранилища для резервной копии
Восстановление существующего выделенного пула SQL (прежнее название — хранилище данных SQL) с помощью PowerShell
Чтобы восстановить существующий выделенный пул SQL (прежнее название — Хранилище данных SQL) из точки восстановления, используйте командлет PowerShell Restore-AzSqlDatabase.
Откройте средство PowerShell.
Подключитесь к своей учетной записи Azure и выведите список всех подписок, связанных с ней.
Выберите подписку, содержащую базу данных, которую нужно восстановить.
Перечислите точки восстановления для выделенного пула SQL (прежнее название — Хранилище данных SQL).
Выберите нужные точки восстановления с помощью свойства RestorePointCreationDate.
Восстановите выделенный пул SQL (прежнее название — Хранилище данных SQL) в нужную точку восстановления с помощью командлета PowerShell Restore-AzSqlDatabase.
- Чтобы восстановить выделенный пул SQL (прежнее название — Хранилище данных SQL) на другой сервер, убедитесь, что указано другое имя сервера. Этот сервер также может находиться в другой группе ресурсов и регионе.
- Сведения о восстановлении в другой подписке см. в статье "Восстановление существующего выделенного пула SQL" в другую подписку с помощью PowerShell.
Убедитесь, что восстановленный выделенный пул SQL (прежнее название — Хранилище данных SQL) находится в сети.
Чтобы настроить хранилище данных после восстановления, вы можете настроить восстановленный выделенный пул SQL (прежнее название — Хранилище данных SQL), следуя инструкциям из раздела Настройка базы данных после восстановления.
$SubscriptionName="<YourSubscriptionName>" $ResourceGroupName="<YourResourceGroupName>" $ServerName="<YourServerNameWithoutURLSuffixSeeNote>" # Without database.windows.net #$TargetResourceGroupName="<YourTargetResourceGroupName>" # uncomment to restore to a different server. #$TargetServerName="<YourtargetServerNameWithoutURLSuffixSeeNote>" $DatabaseName="<YourDatabaseName>" $NewDatabaseName="<YourDatabaseName>" Connect-AzAccount Get-AzSubscription Select-AzSubscription -SubscriptionName $SubscriptionName # Or list all restore points Get-AzSqlDatabaseRestorePoint -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName # Get the specific database to restore $Database = Get-AzSqlDatabase -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName # Pick desired restore point using RestorePointCreationDate "xx/xx/xxxx xx:xx:xx xx" $PointInTime="<RestorePointCreationDate>" # Restore database from a restore point $RestoredDatabase = Restore-AzSqlDatabase –FromPointInTimeBackup –PointInTime $PointInTime -ResourceGroupName $Database.ResourceGroupName -ServerName $Database.ServerName -TargetDatabaseName $NewDatabaseName –ResourceId $Database.ResourceID # Use the following command to restore to a different server #$TargetResourceGroupName = $Database.ResourceGroupName # for restoring to different server in same resourcegroup #$RestoredDatabase = Restore-AzSqlDatabase –FromPointInTimeBackup –PointInTime $PointInTime -ResourceGroupName $TargetResourceGroupName -ServerName $TargetServerName -TargetDatabaseName $NewDatabaseName –ResourceId $Database.ResourceID # Verify the status of restored database $RestoredDatabase.status
Восстановление существующего выделенного пула SQL (прежнее название — хранилище данных SQL) с помощью портала Azure
Войдите на портал Azure.
Перейдите в выделенный пул SQL, из которого требуется выполнить восстановление.
В верхней области страницы Обзор выберите Восстановить.
Выберите Точки автоматического восстановления или Определенные пользователем точки восстановления. Если у выделенного пула SQL (прежнее название — Хранилище данных SQL) нет автоматических точек восстановления, подождите несколько часов или создайте перед восстановлением определенную пользователем точку восстановления. Для определенных пользователем точек восстановления выберите существующую или создайте новую. В качестве значения параметра Сервер можно выбрать сервер в другой группе ресурсов и регионе или создать новый. После предоставления всех параметров нажмите кнопку "Проверить и восстановить".
Восстановление существующего выделенного пула SQL (прежнее название — хранилище данных SQL) в раздел другой подписки с помощью PowerShell
Это аналогично руководству по восстановлению существующего выделенного пула SQL. Однако в следующих инструкциях показано, что командлет Get-AzSqlDatabase PowerShell должен выполняться в исходной подписке, а командлет Restore-AzSqlDatabase PowerShell должен выполняться в целевой подписке. Пользователь, выполняющий восстановление, должен иметь соответствующие разрешения как в исходных, так и в целевых подписках.
Откройте средство PowerShell.
Обновите модуль Az.Sql до версии 3.8.0 (или больше), если используется
Update-Module
более ранняя версия. В противном случае это приведет к сбоям. Чтобы проверить версию с помощью PowerShell, выполните следующие действия.foreach ($i in (get-module -ListAvailable | ?{$_.name -eq 'az.sql'}).Version) { $version = [string]$i.Major + "." + [string]$i.Minor; if ($version -gt 3.7) {write-host "Az.Sql version $version installed. Prerequisite met."} else {update-module az.sql} }
Подключитесь к своей учетной записи Azure и выведите список всех подписок, связанных с ней.
Выберите подписку, содержащую базу данных, которую нужно восстановить.
Перечислите точки восстановления для выделенного пула SQL (прежнее название — Хранилище данных SQL).
Выберите нужные точки восстановления с помощью свойства RestorePointCreationDate.
Выберите целевую подписку, в которой необходимо восстановить базу данных.
Восстановите выделенный пул SQL (прежнее название — Хранилище данных SQL) в нужную точку восстановления с помощью командлета PowerShell Restore-AzSqlDatabase.
Убедитесь, что восстановленный выделенный пул SQL (прежнее название — Хранилище данных SQL) находится в сети.
$SourceSubscriptionName="<YourSubscriptionName>" $SourceResourceGroupName="<YourResourceGroupName>" $SourceServerName="<YourServerNameWithoutURLSuffixSeeNote>" # Without database.windows.net $SourceDatabaseName="<YourDatabaseName>" $TargetSubscriptionName="<YourTargetSubscriptionName>" $TargetResourceGroupName="<YourTargetResourceGroupName>" $TargetServerName="<YourTargetServerNameWithoutURLSuffixSeeNote>" # Without database.windows.net $TargetDatabaseName="<YourDatabaseName>" # Update Az.Sql module to the latest version (3.8.0 or above) # Update-Module -Name Az.Sql -RequiredVersion 3.8.0 Connect-AzAccount Get-AzSubscription Select-AzSubscription -SubscriptionName $SourceSubscriptionName # Pick desired restore point using RestorePointCreationDate "xx/xx/xxxx xx:xx:xx xx" $PointInTime="<RestorePointCreationDate>" # Or list all restore points Get-AzSqlDatabaseRestorePoint -ResourceGroupName $SourceResourceGroupName -ServerName $SourceServerName -DatabaseName $SourceDatabaseName # Get the specific database to restore $Database = Get-AzSqlDatabase -ResourceGroupName $SourceResourceGroupName -ServerName $SourceServerName -DatabaseName $SourceDatabaseName # Switch context to the destination subscription Select-AzSubscription -SubscriptionName $TargetSubscriptionName # Restore database from a desired restore point of the source database to the target server in the desired subscription $RestoredDatabase = Restore-AzSqlDatabase –FromPointInTimeBackup –PointInTime $PointInTime -ResourceGroupName $TargetResourceGroupName -ServerName $TargetServerName -TargetDatabaseName $TargetDatabaseName –ResourceId $Database.ResourceID # Verify the status of restored database $RestoredDatabase.status