Azure IaaS 客户端 VM 到 PaaS SQL 连接问题

Azure IaaS 客户端 VM 到 PaaS SQL 连接问题

我正在尝试让托管在 Azure IaaS VM 上的网站与托管在 Azure PaaS SQL 上的数据库进行通信。但是,我在尝试连接时收到异常:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

从 VM 本身,我可以使用 SSMS 使用其 [name].database.windows.net 主机名以及多个用户/密码(从 KeePass 复制/粘贴)连接到相关服务器。

在 Web 应用程序中,使用 web.config 中的连接字符串配置连接。连接字符串是从 Azure 门户复制/粘贴的,并经过修改以包含用户名和密码(也是从 KeePass 复制/粘贴的)。作为附加测试,我将连接字符串复制/粘贴到 SSMS 的“连接到服务器”对话框中的“其他连接参数”选项卡中,并且也能够通过这种方式进行连接。

这是一个“内部”到“内部”的沟通(https://docs.microsoft.com/en-us/azure/sql-database/sql-database-develop-direct-route-ports-adonet-v12) 并且我在虚拟机上的 Windows 防火墙中为出站临时 SQL 端口添加了一条允许规则。

有人能建议一些我可能忽略的事情来让它发挥作用吗?

答案1

Web 应用程序如何托管 - 是否仅在 IIS 中?它是什么类型的 Web 应用程序 - .Net 等?您在托管 VM 上安装了哪些 SQL 驱动程序?

答案2

最终的解决方案是删除现有虚拟机并从头开始重建。新虚拟机运行完美。

相关内容