当托管的SQL实例位于与应用服务器不同的VNet中时,如何启用地理复制?

时间:2020-09-29 14:03:59

标签: azure azure-sql-database azure-virtual-network

没有任何地理复制的设置非常简单。我有两个VNet。一个拥有我的应用程序服务器。另一个有我的托管SQL实例。它们与Azure VNet对等连接。

现在,我正在尝试在不同区域中创建另一个托管SQL实例,以设置地理复制以进行灾难恢复。对于托管SQL实例,这是可能的。

启用地理复制的要求之一是使用主数据库的VNet创建一个网络网关,并使用辅助数据库的VNet创建另一个网络网关,并在这些网关之间创建“连接”资源。

但是,由于已经有了Network Peering设置,因此无法将Network Gateway添加到主数据库的VNet。它失败,并显示错误代码ParentVnetAlreadyUsesRemoteGateways和消息

无法创建虚拟网络网关,因为虚拟网络primary-db-vnet已经在对等对等应用服务器上使用了远程网关。

这种将数据库安装在与App Server不同的VNet中的设置似乎是一种非常标准的方法。如果这阻止了地理复制,那似乎是我缺少了一些东西。

所以,我的问题是:如何在允许我的应用程序服务器和数据库位于不同的VNet的同时启用地理复制?

问题的不同措词:如何在同一VNet上与VNet对等一起创建网络网关?

PS:我已经与支持人员联系,但是他们需要一些时间才能回来。如果我能够解决问题,请确保在此处发布答案。

2 个答案:

答案 0 :(得分:1)

据我从某些文档中了解到的,不可能通过 VNet对等不同区域中创建另一个托管SQL实例来设置地理复制以进行灾难恢复因为

  1. Azure SQL托管实例不支持活动的地理复制。对于SQL受管实例的地理故障转移,请使用自动故障转移组。阅读here
  2. 由于受constraints of global virtual network peering的限制,SQL受管实例的虚拟网络对等方案被限制为同一区域中的网络。阅读here

因此,在这种情况下,您可以删除VNet对等,而可以在这种情况下设置VNet-to-VNet VPN gateway connection来连接两个VNet。

答案 1 :(得分:-1)