还原 Azure SQL 数据仓库 (PowerShell)

本文会介绍如何使用 PowerShell 还原 Azure SQL 数据仓库。

准备阶段

验证 DTU 容量。 每个 SQL 数据仓库都由一个具有默认 DTU 配额的 SQL 服务器(例如 myserver.database.chinacloudapi.cn)托管。 在还原 SQL 数据仓库之前,请确保 SQL Server 的剩余 DTU 配额足够进行数据库还原。

安装 PowerShell

若要对 SQL 数据仓库使用 Azure PowerShell,需要安装 Azure PowerShell 1.0 或更高版本。 可以通过运行 Get-Module -ListAvailable -Name AzureRM来检查版本。 可通过 Microsoft Web 平台安装程序安装最新版本。 有关安装最新版本的详细信息,请参阅如何安装和配置 Azure PowerShell

还原活动或暂停的数据库

若要从快照还原数据库,请使用 Restore-AzureRmSqlDatabase PowerShell cmdlet。

  1. 打开 Windows PowerShell。
  2. 连接到 Azure 帐户,并列出与帐户关联的所有订阅。
  3. 选择包含要还原的数据库的订阅。
  4. 列出数据库的还原点。
  5. 使用 RestorePointCreationDate 选取所需的还原点。
  6. 将数据库还原到所需的还原点。
  7. 验证已还原的数据库是否处于联机状态。

$SubscriptionName="<YourSubscriptionName>"
$ResourceGroupName="<YourResourceGroupName>"
$ServerName="<YourServerNameWithoutURLSuffixSeeNote>"  # Without database.chinacloudapi.cn
$DatabaseName="<YourDatabaseName>"
$NewDatabaseName="<YourDatabaseName>"

Login-AzureRmAccount -EnvironmentName AzureChinaCloud
Get-AzureRmSubscription
Select-AzureRmSubscription -SubscriptionName $SubscriptionName

# List the last 10 database restore points
((Get-AzureRMSqlDatabaseRestorePoints -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName ($DatabaseName)).RestorePointCreationDate)[-10 .. -1]

# Or list all restore points
Get-AzureRmSqlDatabaseRestorePoints -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName

# Get the specific database to restore
$Database = Get-AzureRmSqlDatabase -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName

# Pick desired restore point using RestorePointCreationDate
$PointInTime="<RestorePointCreationDate>"  

# Restore database from a restore point
$RestoredDatabase = Restore-AzureRmSqlDatabase -FromPointInTimeBackup -PointInTime $PointInTime -ResourceGroupName $Database.ResourceGroupName -ServerName $Database.ServerName -TargetDatabaseName $NewDatabaseName -ResourceId $Database.ResourceID

# Verify the status of restored database
$RestoredDatabase.status

Note

完成还原后,即可按在恢复后配置数据库中的说明配置恢复的数据库。

还原已删除的数据库

若要还原已删除的数据库,请使用 Restore-AzureRmSqlDatabase cmdlet。

  1. 打开 Windows PowerShell。
  2. 连接到 Azure 帐户,并列出与帐户关联的所有订阅。
  3. 选择包含要还原的已删除数据库的订阅。
  4. 获取特定的已删除数据库。
  5. 还原已删除的数据库。
  6. 验证已还原的数据库是否处于联机状态。
$SubscriptionName="<YourSubscriptionName>"
$ResourceGroupName="<YourResourceGroupName>"
$ServerName="<YourServerNameWithoutURLSuffixSeeNote>"  # Without database.chinacloudapi.cn
$DatabaseName="<YourDatabaseName>"
$NewDatabaseName="<YourDatabaseName>"

Login-AzureRmAccount -EnvironmentName AzureChinaCloud
Get-AzureRmSubscription
Select-AzureRmSubscription -SubscriptionName $SubscriptionName

# Get the deleted database to restore
$DeletedDatabase = Get-AzureRmSqlDeletedDatabaseBackup -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName

# Restore deleted database
$RestoredDatabase = Restore-AzureRmSqlDatabase -FromDeletedDatabaseBackup -DeletionDate $DeletedDatabase.DeletionDate -ResourceGroupName $DeletedDatabase.ResourceGroupName -ServerName $DeletedDatabase.ServerName -TargetDatabaseName $NewDatabaseName -ResourceId $DeletedDatabase.ResourceID

# Verify the status of restored database
$RestoredDatabase.status

Note

完成还原后,即可按在恢复后配置数据库中的说明配置恢复的数据库。

从 Azure 地理区域还原

若要恢复数据库,请使用 Restore-AzureRmSqlDatabase cmdlet。

Note

可以异地还原到“计算优化”性能层! 若要执行此操作,请将一个“计算优化”ServiceObjectiveName 指定为可选参数。

  1. 打开 Windows PowerShell。
  2. 连接到 Azure 帐户,并列出与帐户关联的所有订阅。
  3. 选择包含要还原的数据库的订阅。
  4. 获取要恢复的数据库。
  5. 创建对数据库的恢复请求。
  6. 验证异地还原的数据库的状态。
Login-AzureRmAccount -EnvironmentName AzureChinaCloud
Get-AzureRmSubscription
Select-AzureRmSubscription -SubscriptionName "<Subscription_name>"

# Get the database you want to recover
$GeoBackup = Get-AzureRmSqlDatabaseGeoBackup -ResourceGroupName "<YourResourceGroupName>" -ServerName "<YourServerName>" -DatabaseName "<YourDatabaseName>"

# Recover database
$GeoRestoredDatabase = Restore-AzureRmSqlDatabase -FromGeoBackup -ResourceGroupName "<YourResourceGroupName>" -ServerName "<YourTargetServer>" -TargetDatabaseName "<NewDatabaseName>" -ResourceId $GeoBackup.ResourceID -ServiceObjectiveName "<YourTargetServiceLevel>"

# Verify that the geo-restored database is online
$GeoRestoredDatabase.status

Note

若要在完成还原后配置数据库,请参阅在恢复后配置数据库

如果源数据库启用了 TDE,则已恢复的数据库会启用 TDE。

后续步骤

若要了解 Azure SQL 数据库版本的业务连续性功能,请阅读 Azure SQL 数据库业务连续性概述