【问题标题】:Elastic Query for Azure Databases on VNETVNET 上 Azure 数据库的弹性查询
【发布时间】:2021-01-28 18:47:01
【问题描述】:

我们在 Azure 上有几个数据库,它们使用弹性查询和 sp_execute_remote 在它们之间来回查询。我们希望将这些数据库移动到 VNET 上,并为应用服务提供一个专用端点来使用它。这部分被证明相对容易,我们的应用服务能够与这些数据库通信没有问题。然而,当我们建立连接并关闭对数据库的公共访问时,我们的外部表似乎停止了访问。

现在运行 select * from externaltable 会导致如下错误:

Msg 46823, Level 16, State 1, Line 1
Error retrieving data from xxxxxxxxxxxx.database.windows.net.yyyyyyyyyy.  The underlying error message received was: 'Reason: An instance-specific error occurred while establishing a connection to SQL Server. Connection was denied since Deny Public Network Access is set to Yes (https://docs.microsoft.com/azure/azure-sql/database/connectivity-settings#deny-public-network-access). To connect to this server, use the Private Endpoint from inside your virtual network (https://docs.microsoft.com/azure/sql-database/sql-database-private-endpoint-overview#how-to-set-up-private-link-for-azure-sql-database).'.

我怀疑这些请求仍在路由到公共端点,并且 SQL 服务器没有观察到通过私有端点到其他服务器的 VNET 路由。有没有办法让它工作?对于应用服务,我们设置了WEBSITE_VNET_ROUTE_ALL,但我不认为 SQL 服务器有完全的平行关系。

如何启用 vnet 和私有端点,同时仍然能够进行弹性查询?

【问题讨论】:

    标签: sql-server azure azure-sql-database


    【解决方案1】:

    因为 Azure SQL 实际上不在您的 VNET 中 - 只有专用链接部分 - 当它尝试转到第二个数据库时,它不是来自有效的 IP 地址。

    我相信这仍然是私人链接难题的缺失部分。

    您是否尝试过保持“允许访问 Azure 服务” - 这可能仍与专用链接配置冲突,如果您的目标是锁定对特定 VNET 的访问,则这不是一个有效的选项。

    【讨论】:

    • 我最终在微软支持下打开了一张票,答案确实是不可能的。我们最终改用托管实例。
    猜你喜欢
    • 2018-06-30
    • 1970-01-01
    • 1970-01-01
    • 2020-06-02
    • 2017-09-22
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    • 2020-11-29
    相关资源
    最近更新 更多