SQL Server命名管道提供程序错误但仅限于ASP.NET?

时间:2011-03-08 00:54:55

标签: asp.net sql-server named-pipes

我有一个SQL Server实例抛出“命名管道提供程序”错误,代码40.我知道这是一个相对常见的新安装错误,并且有一个复杂的过程来修复它。但是,这个错误的奇怪之处在于(1)它只是间歇性地发生,(2)它只发生在我的ASP.NET应用程序中。我有其他正在访问此服务器的应用程序,没有任何错误。

当我的连接字符串是ASPX代码的一部分(而不是web.config)时,我偶然发现了一个模糊的引用错误,这没有任何意义,但这是我能想到的唯一选择。其他人看过这个吗?

1 个答案:

答案 0 :(得分:0)

听起来像是安全上下文问题? asp.net应用程序如何访问sql server?集成windows安全性还是sql安全性?如果之前检查由应用程序池标识定义的应用程序(asp.net进程)的标识对数据库具有登录权限。

来自http://blogs.msdn.com/b/sql_protocols/archive/2007/03/31/named-pipes-provider-error-40-could-not-open-a-connection-to-sql-server.aspx

总结,给出清单:

  1. 目标服务器是否已启动?

  2. 您的目标服务器是否正在侦听NP?哪根管子?

  3. 您的客户是否启用了NP?使用相同的管道连接为服务器?

  4. 您是在进行本地连接吗?如果是,那么实例,默认或远程是什么?

  5. 您是否在连接字符串中添加了正确的实例名称?请记住,Sqlexpress是一个命名实例。

  6. 您是否启用了远程连接?防火墙吗?安全? “文件和打印机共享”打开了吗?可以访问服务器吗?

  7. 您可以使用或\进行基本连接吗?使用sqlcmd或osql。