我正在尝试让托管在 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),我在 VM 上的 Windows 防火墙中为出站临时 SQL 端口添加了允许规则。
任何人都可以提出一些我可能忽略的东西来让它工作吗?