0

我通过在 Azure SQL 数据库服务器上的防火墙设置中将“拒绝公共网络访问”旋钮设置为“是”来启用专用链接。除了外部数据源(外部表)外,一切都按预期工作。外部表只是指向属于同一服务器的另一个 Azure SQL 数据库中的表的链接。在我启用私人链接之前,一切正常。如果我尝试查询外部表,则会收到以下错误消息:

“从 [mydbserver].database.windows.net.[mydbname] 检索数据时出错。收到的基本错误消息是:'原因:与 SQL Server 建立连接时发生特定于实例的错误。连接被拒绝,因为拒绝公共网络访问设置为是 ( https://docs.microsoft.com/azure/azure-sql/database/connectivity-settings#deny-public-network-access )。要连接到此服务器,请从您的内部使用专用终结点虚拟网络(https://docs.microsoft.com/azure/sql-database/sql-database-private-endpoint-overview#how-to-set-up-private-link-for-azure-sql-database)。 "

我在文档中找不到任何关于外部数据源和外部表与私有链接设置相结合的任何限制。

使用标准方式创建的外部表:“CREATE EXTERNAL DATA SOURCE”和“CREATE EXTERNAL TABLE”。我也尝试在启用私有链接后重新创建数据源和表,但错误仍然存​​在......

4

2 回答 2

0

您需要使用名称yourdbname.privatelink.database.windows.net

之后,您可能会收到另一个错误,即此名称不正确。在这种情况下,您遇到了 DNS 问题,您需要在 VM 的主机文件中添加一个带有端点 IP 的条目。如果您的 VM 在该 VNET 之外,那就另当别论了。

然后,您需要在主机文件中添加端点的公共 IP。我仍在尝试用严重的 dns 解决这个问题,还没有弄清楚。

有关更多信息,请参阅此;

https://techcommunity.microsoft.com/t5/azure-database-support-blog/lesson-learned-126-deny-public-network-access-allow-azure/ba-p/1244037

于 2020-09-26T23:09:29.720 回答
0

想重申对 Microsoft Q&A 上发布的同一问题的答案:“拒绝公共网络访问”设置为“是”时,外部表不起作用

Polybase 存在限制,因为它目前不支持 Private Link。根据 PG:

Polybase 目前不支持使用私有链接。请指导客户使用托管标识来保护与 Azure 存储的连接。

尽管这对您来说可能不是一个可行的解决方案,但是,如果您需要访问的数据被提取到存储帐户,然后通过 PG 引用的方法导入,这可能是一个可行的解决方案。触发器端点可以反转相同的过程,并且可以在 VNET + 托管身份的安全性内完成。

于 2020-10-16T20:16:24.080 回答