Azure 混合连接管理器不工作

Azure hybrid connection Manager does not work

要求

我有一个 On-Premise SQL Server 和一个 Azure webApp Service 需要相互通信。我在与 SQL 服务器位于同一局域网中的另一台计算机上安装了混合连接管理器。我们将这台计算机称为 连接 PC

工作部分

问题

在本地主机上测试正常后,我将 ASP.Net WebApp 发布到 Azure,它给出了以下错误:

建立与 SQL 服务器的连接时出现与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确并且 SQL 服务器配置为允许远程连接。 (提供商:命名管道提供商,错误:40 - 无法打开与 SQL 服务器的连接)

故障排除尝试

连接字符串

在我的webapp中,连接字符串如下。

connectionString="metadata=res:///ScaleDataModel.csdl|res:///ScaleDataModel.ssdl|res://*/ScaleDataModel.msl;provider=System.Data.SqlClient;provider connection string="data source=WIN2008R2\DataPlus;initial catalog=DataPlus;persist security info=True;user id=test;password=testpass;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient"

由于您有混合连接,因此您的连接字符串应将混合连接的端点名称作为数据源。尝试更换它。

混合连接通过 TCP 端口进行通信,因此您需要在连接字符串中指定侦听静态端口,例如:

数据源=服务器名称:端口;

另外 here 是一篇非常详细的文章,介绍了您在使用混合连接时可能遇到的所有问题。

希望对您有所帮助。