为 Azure SQL 托管实例配置现有虚拟网络
适用于:Azure SQL 托管实例
Azure SQL 托管实例必须仅部署在专用于托管实例的 Azure 虚拟网络和子网中。 如果现有虚拟网络和子网是根据 SQL 托管实例虚拟网络要求配置的,则可以使用现有虚拟网络和子网。
如果存在以下情况,可以使用本文中所述的脚本来验证和修改网络:
注意
只能在通过 Azure 资源管理器部署模型创建的虚拟网络中创建托管实例。 不支持通过经典部署模型创建的 Azure 虚拟网络。 根据确定 SQL 托管实例的子网大小一文中的指导计算子网大小。 在子网中部署资源后,无法调整子网大小。
创建托管实例后,可以将实例移到同一 Vnet 内的另一个子网或跨 vNet 移动,但不支持将实例或 VNet 移到另一个资源组或订阅。
验证并修改现有虚拟网络
如果希望在现有子网内创建托管实例,建议使用以下 PowerShell 脚本来准备子网:
$scriptUrlBase = 'https://raw.githubusercontent.com/Microsoft/sql-server-samples/master/samples/manage/azure-sql-db-managed-instance/delegate-subnet'
$parameters = @{
subscriptionId = '<subscriptionId>'
resourceGroupName = '<resourceGroupName>'
virtualNetworkName = '<virtualNetworkName>'
subnetName = '<subnetName>'
}
Invoke-Command -ScriptBlock ([Scriptblock]::Create((iwr ($scriptUrlBase+'/delegateSubnet.ps1?t='+ [DateTime]::Now.Ticks)).Content)) -ArgumentList $parameters
该脚本通过三个步骤来准备子网:
- 验证:根据 SQL 托管实例的网络要求验证所选虚拟网络和子网。
- 确认:向用户显示为 SQL 托管实例部署准备子网而需要执行的一组更改。 同时请求用户同意。
- 准备:正确配置虚拟网络和子网。
后续步骤
- 有关概述,请参阅什么是 SQL 托管实例?。
- 有关如何创建虚拟网络、创建托管实例,以及从数据库备份还原数据库的教程,请参阅创建托管实例。
- 有关 DNS 问题,请参阅解析 Azure SQL 托管实例中的专用 DNS 名称。