如何解决错误'命名pipe道提供程序,错误40 – 无法打开到'SQL Server'的连接?
我似乎无法连接到我的数据库从一个网站。 我得到这个错误:
命名pipe道提供程序,错误:40 – 无法打开连接到SQL Server
我尝试使用本地IP地址连接以及公共之一。 我试过了:
- 是的,该网站可以与服务器通信
- 命名pipe道/ TCP已启用。
- 远程连接是允许的。
- Windows防火墙已closures
- 在Windows防火墙中为端口1433创build了一个例外。
- 启用SQL Serverconfigurationpipe理器中的所有内容。
我还能在这里做什么?
解决这个问题非常简单:
- 去控制面板。
- search服务。
- 从search结果中打开“本地服务”窗口
- 重新启动您的MSSQLSERVER服务。
步骤的屏幕截图:
最简单的解决scheme – 检查你的斜线是否回来…
我花了大约一个小时,试图找出什么是错误的SERVER / INSTANCENAME当一切正确configuration,命名pipe道,用户访问权限…突然它袭击了我,它不是一个斜杠,它是一个反斜杠 ( \
)。
恐怖,耻辱…
在安装SQL Server之后真的需要三个步骤:
- 启用命名pipe道SQLconfigurationpipe理器 – > SQL ServernetworkingConsif – >协议 – >命名pipe道 – >右键单击 – >重新启动
-
重新启动服务器SQLconfigurationpipe理器 – > SQL服务器服务 – > SQL服务器(SQLEXPRESS) – >右键单击 – >重新启动
-
使用正确的服务器和实例名称(两者都是必需的!)通常这将是。\ SQLEXPRESS ,例如查看QueryExpress连接对话框的截图。
你有它。
我刚刚安装了SQL SERVER 2012开发者。 当我创build我的第一个SSIS包时,当我尝试在“连接pipe理器”框中的SQL Server 2012数据工具中创build数据连接任务时收到此pipe道错误。 我在上面的post的帮助下解决了。
如果select一个命名实例,并且您调用了您的命名实例SSQDatabase1,并且您的电脑名称是PCX1。 您必须inputPCX1 \ SSQDatabase1而不仅仅是SSQDatabase1,否则您将收到命名pipe道错误。
MSDN上的一个线程Social, Re:命名pipe道提供程序,错误:40 – 无法打开到SQL Server的连接 ,有一个相当不错的与您的错误相关的问题列表。 你可能想看看他们中的任何一个可能是你正在经历的。
- 连接string不正确,例如使用SqlExpress
- 命名pipe道(NP)未在SQL实例上启用
- 远程连接未启用
- 服务器未启动,或者指向连接string中不是真实的服务器
- 其他原因,如不正确的安全上下文
- 尝试两台机器之间的基本连接testing
我刚刚在SQL Serverconfigurationpipe理器中启用TCP / IP,VIA,命名pipe道,我的问题得到解决参考这更多信息解决命名pipe道错误40
使用SERVER \\ INSTANCE NAME 。在我的项目中使用双反斜杠解决了我的问题。
感谢Damian …
TCP / IP命名pipe道…都启用
Webconfiguration….(对于本地主机)
<add name="FooData" connectionString="Data Source=localhost\InstanceName;Initial Catalog=DatabaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
有同样的问题。 花了6个小时,当不得不迁移一些服务器。 尝试了关于这个主题和其他的所有build议。
解决scheme和服务器重启一样简单!
在我的情况下,我有一个独立的服务器,我将configurationpipe理器中的SQL Server端口默认端口1433更改为一些数字,并重新启动sql服务服务生效,我能够通过pipe理工作室连接到SQL服务器,如果我login到服务器。 但我无法通过SQL Server从本地机器连接,我得到的错误:
与SQL Serverbuild立连接时发生networking相关或特定于实例的错误。 服务器未find或无法访问。 validation实例名称是否正确
SQL Server被configuration为允许远程连接。 (提供程序:命名pipe道提供程序,错误:40 – 无法打开连接到SQL Server)(Microsoft SQL Server,错误:5)
我检查了下面的所有内容
已启用pipe道/ TCP。 – 允许远程连接。 -Windows防火墙closures – 为Windows防火墙的端口设置了一个例外(在我的情况下这不是必须的,因为服务器在相同的子网中)。 – 启用SQL Serverconfigurationpipe理器中的所有内容。
然后我chnaged回到默认的1433端口号,并重新启动SQL服务器服务,问题得到解决,我能够连接从本地pipe理工作室的SQL服务器。
尝试以下步骤:
-
打开“服务”窗口(打开“运行框”并键入services.msc)。
-
寻找SQL服务(使用SQL前缀)。
-
启动它们(如果不能启动,转到步骤4)。
-
右键单击每个服务 – >属性 – >更改为选项卡“login” – >selectlogin为“本地…” – > 0K。 然后再次启动SQL服务。
尝试打开SQL并连接数据库。
我想我还有一个解决scheme。 我最近改变了我的电脑名称,所以在尝试了以上所有方法之后,我仍然无法连接。 我更改了服务器名称。服务器名称=>(浏览更多)=>在数据库引擎下,发现一台新服务器与计算机新名称相同。 这工作,生活又好了。
很简单的解决scheme
使用(本地)\ InstanceName这就是它为我工作。
按照这里提到的所有步骤之后,如果仍然没有连接,请尝试在etc文件夹的hosts文件中添加带有IP地址的DNS。 在连接string中添加IP地址而不是DNS名称应该是临时解决scheme,以检查连接是否实际工作。
我尝试使用本地IP地址连接以及公共之一。 我试过了:
是,站点可以与服务器通信命名pipe道/ TCP已启用。 远程连接是允许的。 Windows防火墙已closures在Windows防火墙中为端口1433创build了一个例外。 启用SQL Serverconfigurationpipe理器中的所有内容。
我确保并做了以上的工作,我只想分享一下DOUBLE BACKSLASH
oBuilder.DataSource =“SPECIFICPCNAME \ SQLEXPRESS”;
使用一个单一的反向导致一个构build错误,即:错误1无法识别的转义序列
我希望这有助于下一个人 – 我牺牲了晚餐,午夜点心和NBA亮点时间解决这个(耻辱)
感谢[Tamizh venthan] ^ _ ^
通过转到计算机pipe理 – > SQL和服务,启用TCP / IP,pipe道协议,确保服务处于打开状态。 在防火墙上打开端口。 尝试通过命令提示符login – >作为pipe理员; 最后的用户名应该是(本地)\ SQLEXPRESS。 希望这可以帮助。
打开SQL Serverconfigurationpipe理器
- 从右侧selectSQL Server服务。
- 从右侧find你的服务器,并转到它的属性(右键单击)
- 将login方法更改为本地系统。
我有同样的问题,并通过禁用我的防火墙(ESET)解决了这个问题。
解决此问题的第一步应该是尝试从另一台计算机ping自己的计算机。 如果你有防火墙,你可能无法ping通自己。 我试图ping我自己的电脑,然后ping失败(没有得到服务器的响应)
我试图在VS2015中添加一个新的连接。 这里没有任何build议的工作。 怀疑向导中存在某种错误,尤其是SSMS能够连接好的时候,我决定尝试欺骗它。 有效!
-
而不是添加连接,使用“创build新的SQL Server数据库”。 input您的服务器名称和新数据库的随机名称,例如“test”。
-
假设成功,打开VS中的服务器资源pipe理器,在数据连接中find连接,右键单击它并select修改连接。
-
将“test”(从步骤1)更改为要连接的现有数据库的名称。 点击“testing连接”。 这一次它应该工作!
-
删除您在步骤1中创build的临时数据库。
在我意识到我的错误之前,我在这个问题上挣扎了很长时间 – 我在连接string中使用了逗号而不是分号
我有这个问题,但没有上述build议固定它。
当我将我的网站部署到IIS时,我看到了这个问题。 该修补程序是针对默认应用程序池进入高级设置,并将标识属性从默认值更改为pipe理员。
就我而言,我打开了SQL Server Management Studio,并在我的数据库引擎中search了SQLEXPRESS。 它有两个实例,我select了正确的一个。
对我来说这是一个防火墙问题。
首先,你必须添加端口(如1444和1434),但也可以
C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe
和
%ProgramFiles%\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\Binn\SQLAGENT.EXE
我第二次遇到这个问题的时候,我回到防火墙,path不正确,我需要更新表格12到13! 只需点击“程序和服务”选项卡中的浏览,就可以实现这一点。
最后,尝试运行该命令
EXEC xp_readerrorlog 0,1,“无法注册服务主体名称”,为空
对我而言,它返回了错误原因