Sql server 2008 强制ASP.Net使用TCP/IP连接到SQL Server而不是命名管道

Sql server 2008 强制ASP.Net使用TCP/IP连接到SQL Server而不是命名管道,sql-server-2008,asp.net-3.5,Sql Server 2008,Asp.net 3.5,如何强制我的ASP.Net应用程序使用TCP/IP而不是命名管道连接到SQL Server 我在某个地方读到,将“tcp:”放在connectionstring中的服务器名称前面应该可以做到这一点,但它似乎没有改变任何东西 编辑1: SQL Server上已启用TCP/IP 我在connectionstring中尝试了Network Library=dbmsscn,但仍然收到一条关于命名管道的错误消息:“提供程序:命名管道提供程序,错误:40-无法打开到SQL Server的连接” 编辑2:

如何强制我的ASP.Net应用程序使用TCP/IP而不是命名管道连接到SQL Server

我在某个地方读到,将“tcp:”放在connectionstring中的服务器名称前面应该可以做到这一点,但它似乎没有改变任何东西

编辑1:
  • SQL Server上已启用TCP/IP
  • 我在connectionstring中尝试了Network Library=dbmsscn,但仍然收到一条关于命名管道的错误消息:“提供程序:命名管道提供程序,错误:40-无法打开到SQL Server的连接”
编辑2:
  • 原来我的问题是实体框架使用的另一个隐藏连接字符串

这取决于您连接到数据库的方式,但应提供您需要的信息。

在客户端上使用SQL Server Configuration Manager并禁用您不希望它使用的客户端协议。

您可以在连接字符串中强制它:

server=tcp:hostname

Via:

仅添加一个快速提示,可能会导致问题,如果您需要指定端口,请在IP地址之后指定,并使用逗号,而不是冒号。

客户端计算机,您是指web服务器吗?它甚至没有安装SQL Server。我指的是客户机。您可以只安装连接组件。也可以在服务器上禁用NamedPipe。这种解决方案不会以编程方式提供答案,而且如果开发人员无法访问客户端计算机上的GUI,它也不起作用。