我们正在使用 Azure 数据工厂,并拥有 Azure 托管的集成运行时以及我们的数据库所在的 SQL 托管实例。
我无法从我们的托管实例获取数据集 - 当我配置链接服务时,测试连接时出现 10060 错误。
我没有打开公共端点,但我认为这不是问题。如果我通过 VPN 连接到我们的虚拟局域网,我可以从我自己的 PC(使用 SSMS)连接到 SQL 托管实例,但出于某种原因,我的数据工厂的链接服务看不到服务器。
知道我应该从哪里开始寻找吗?
答案1
根据您提供的错误代码(10060)我猜这是一个防火墙问题:
建立与服务器的连接时发生错误。连接到 SQL Server 时,此失败可能是由于 SQL Server 在默认设置下不允许远程连接所致。(提供程序:TCP 提供程序,错误:0 - 连接尝试失败,因为连接方在一段时间后未正确响应,或者建立连接失败,因为连接的主机未响应。)(Microsoft SQL Server,错误:10060)
我发现Azure 数据工厂文档
若要访问 SQL 托管实例公共终结点,可以使用 Azure 数据工厂托管的 Azure 集成运行时。请确保启用公共终结点,并在网络安全组上允许公共终结点流量,以便 Azure 数据工厂可以连接到数据库。
因此,您似乎需要打开并正确配置 SQL MI 的公共端点。有关此内容的更多信息,请参见此处:在 Azure SQL 托管实例中配置公共终结点。
如果你愿意/能够将数据库从 SQL MI 迁移到 SQL DB,你也可以使用托管专用终结点Managed Private Endpoint。它将建立到您的数据库的私人链接并将您的数据保存在 Microsoft 的主干上。遗憾的是,Azure SQL Managed Instances
目前不支持。