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

Sql server Web服务器使用错误的协议连接到SQL Server,sql-server,tcp,udp,Sql Server,Tcp,Udp,我有两个web服务器,每个服务器运行相同的ASP应用程序。这些web服务器连接到同一个SQL server。其中一台服务器正在正常运行应用程序,但另一台服务器抛出以下错误: 建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:SQL网络接口,错误:28-服务器不支持请求的协议) 我对web服务器和sql服务器之间的流量都进行了wireshark捕获。在工作服务器上,流量

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

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

我对web服务器和sql服务器之间的流量都进行了wireshark捕获。在工作服务器上,流量使用TCP。在不工作的服务器上,我看到了大量的UDP通信,而SQL server不支持这些通信(在给出错误消息的情况下是有意义的)。使用的协议在哪里确定?每台服务器上的应用程序都是相同的,因此这不可能是应用程序级别的配置问题。我不是一个网络人,所以我不知所措

谢谢

Joseph

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

值得一试

通过IP地址连接

Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;
该连接字符串不完整,我正在显示相关部分

那个样品来自中国

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

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

编辑

另一个技巧是安装PortQryUI,将这个小实用程序放在“客户机”机器上……并“戳”Sql Server,确保得到相同的结果


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

您不能将sql server与udp包一起使用,至少它没有意义。这些包真的来自sql客户机吗?还是更多的是网络发现服务试图找出网络拓扑?这将暗示该系统存在更深层次的网络问题。这些问题源于web客户端,而不是sql客户端。不确定此服务器为何尝试与此协议通信?这里的“web客户端”是什么?浏览器?浏览器当然不会直接连接到sql server,至少这根本没有意义…我实际上能够使用ODBC管理器连接到数据库…ODBC是一个很好的“穷人支票”。所以我会尝试显式地指定网络库(如上所示)……因为如果不指定,它将使用一些默认值……这些默认值隐藏在注册表中……IIRC。就像我说的,试试“最具体的连接字符串”你可以…这意味着。。。IP地址、端口和网络库…………以及其他“凭据”。您使用的凭据是什么?(又名,您使用什么“身份”连接到数据库?)
dbnmpntw - Win32 Named Pipes
dbmssocn - Win32 Winsock TCP/IP