使用 PowerShell 将 Azure SQL 托管实例数据库还原到另一个地理区域

适用于: Azure SQL 托管实例

此 PowerShell 脚本示例从远程地理区域还原 Azure SQL 托管实例数据库(异地还原)。

如果没有 Azure 试用版订阅,请在开始前创建一个试用版订阅

备注

本文已经过更新,以便使用 Azure Az PowerShell 模块。 若要与 Azure 交互,建议使用的 PowerShell 模块是 Az PowerShell 模块。 若要开始使用 Az PowerShell 模块,请参阅安装 Azure PowerShell。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az

本教程需要 Azure PowerShell 1.4.0 或更高版本。 如果需要进行升级,请参阅 Install Azure PowerShell module(安装 Azure PowerShell 模块)。 需要运行 Connect-AzAccount -Environment AzureChinaCloud 以创建与 Azure 的连接。

示例脚本

# Connect-AzAccount -Environment AzureChinaCloud
# The SubscriptionId in which to create these objects
$SubscriptionId = '<put subscription_id here>'
# Set the information for your managed instance
$SourceResourceGroupName = "myResourceGroup-$(Get-Random)"
$SourceInstanceName = "myManagedInstance-$(Get-Random)"
$SourceDatabaseName = "myInstanceDatabase-$(Get-Random)"

# Set the information for your destination managed instance
$TargetResourceGroupName = "myTargetResourceGroup-$(Get-Random)"
$TargetInstanceName = "myTargetManagedInstance-$(Get-Random)"
$TargetDatabaseName = "myTargetInstanceDatabase-$(Get-Random)"

Connect-AzAccount -Environment AzureChinaCloud
Set-AzContext -SubscriptionId $SubscriptionId

$backup = Get-AzSqlInstanceDatabaseGeoBackup `
-ResourceGroupName $SourceResourceGroupName `
-InstanceName $SourceInstanceName `
-Name $SourceDatabaseName

$backup | Restore-AzSqlInstanceDatabase -FromGeoBackup `
-TargetInstanceDatabaseName $TargetDatabaseName `
-TargetInstanceName $TargetInstanceName `
-TargetResourceGroupName $TargetResourceGroupName

清理部署

使用以下命令删除资源组及其相关的所有资源。

Remove-AzResourceGroup -ResourceGroupName $TargetResourceGroupName

脚本说明

此脚本使用以下命令。 表中的每条命令均链接到特定于命令的文档。

Command 注释
New-AzResourceGroup 创建用于存储所有资源的资源组。
Get-AzSqlInstanceDatabaseGeoBackup 创建 SQL 托管实例数据库的异地冗余备份。
Restore-AzSqlInstanceDatabase 通过异地备份在 SQL 托管实例上创建数据库。
Remove-AzResourceGroup 删除资源组,包括所有嵌套的资源。

后续步骤

有关 PowerShell 的详细信息,请参阅 Azure PowerShell 文档

可以在 Azure SQL 数据库 PowerShell 脚本中找到更多 Azure SQL 数据库 PowerShell 脚本示例。