Web服务器使用错误的协议连接到SQL Server

时间:2013-08-20 14:21:45

标签: sql-server tcp udp

我有两个Web服务器,每个服务器运行一个相同的ASP应用程序。这些Web服务器连接到同一SQL服务器。其中一台服务器正在运行应用程序,但另一台正在抛出以下错误:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:SQL网络接口,错误:28 - 服务器不支持请求的协议)

我对Web服务器和sql server之间的流量进行了wirehark捕获。在工作服务器上,流量正在使用TCP。在非工作服务器上,我看到很多UDP流量,SQL服务器不支持(根据错误消息有意义)。使用的协议在哪里确定?每台服务器上的应用程序是相同的,因此它不能是应用程序级别的配置问题。我不是网络人,所以我不知所措。

谢谢,

约瑟夫

1 个答案:

答案 0 :(得分:0)

您可以设置"网络协议"在连接字符串中。

值得一试。

通过IP地址连接

Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;

该连接字符串不完整,我显示了相关部分。

该样本来自

http://www.connectionstrings.com/sql-server-2008

这篇文章很旧,但会解释网络库选项。

http://support.microsoft.com/kb/238949

最常见的两种(根据我的经验)是:

dbnmpntw - Win32 Named Pipes
dbmssocn - Win32 Winsock TCP/IP

修改

另一个技巧是安装PortQryUI,并将这个小实用程序放在"客户端"机器.......和"戳#34; Sql Server,并确保得到相同的结果。

http://www.microsoft.com/en-us/download/details.aspx?id=24009

这将有助于识别任何防火墙问题......使用sql server客户端。