我有一个SQL Server实例抛出“命名管道提供程序”错误,代码40.我知道这是一个相对常见的新安装错误,并且有一个复杂的过程来修复它。但是,这个错误的奇怪之处在于(1)它只是间歇性地发生,(2)它只发生在我的ASP.NET应用程序中。我有其他正在访问此服务器的应用程序,没有任何错误。
当我的连接字符串是ASPX代码的一部分(而不是web.config)时,我偶然发现了一个模糊的引用错误,这没有任何意义,但这是我能想到的唯一选择。其他人看过这个吗?
答案 0 :(得分:0)
听起来像是安全上下文问题? asp.net应用程序如何访问sql server?集成windows安全性还是sql安全性?如果之前检查由应用程序池标识定义的应用程序(asp.net进程)的标识对数据库具有登录权限。
总结,给出清单:
目标服务器是否已启动?
您的目标服务器是否正在侦听NP?哪根管子?
您的客户是否启用了NP?使用相同的管道连接为服务器?
您是在进行本地连接吗?如果是,那么实例,默认或远程是什么?
您是否在连接字符串中添加了正确的实例名称?请记住,Sqlexpress是一个命名实例。
您是否启用了远程连接?防火墙吗?安全? “文件和打印机共享”打开了吗?可以访问服务器吗?
您可以使用或\进行基本连接吗?使用sqlcmd或osql。