如何解决错误'命名pipe道提供程序,错误40 – 无法打开到'SQL Server'的连接?

我似乎无法连接到我的数据库从一个网站。 我得到这个错误:

命名pipe道提供程序,错误:40 – 无法打开连接到SQL Server

我尝试使用本地IP地址连接以及公共之一。 我试过了:

  1. 是的,该网站可以与服务器通信
  2. 命名pipe道/ TCP已启用。
  3. 远程连接是允许的。
  4. Windows防火墙已closures
  5. 在Windows防火墙中为端口1433创build了一个例外。
  6. 启用S​​QL Serverconfigurationpipe理器中的所有内容。

我还能在这里做什么?

解决这个问题非常简单:

  1. 去控制面板。
  2. search服务。
  3. 从search结果中打开“本地服务”窗口
  4. 重新启动您的MSSQLSERVER服务。

步骤的屏幕截图:

步骤的屏幕截图

最简单的解决scheme – 检查你的斜线是否回来…

我花了大约一个小时,试图找出什么是错误的SERVER / INSTANCENAME当一切正确configuration,命名pipe道,用户访问权限…突然它袭击了我,它不是一个斜杠,它是一个反斜杠\ )。

恐怖,耻辱…

在安装SQL Server之后真的需要三个步骤:

  1. 启用命名pipe道SQLconfigurationpipe理器 – > SQL ServernetworkingConsif – >协议 – >命名pipe道 – >右键单击 – >重新启动

命名管道启用

  1. 重新启动服务器SQLconfigurationpipe理器 – > SQL服务器服务 – > SQL服务器(SQLEXPRESS) – >右键单击 – >重新启动

  2. 使用正确的服务器和实例名称(两者都是必需的!)通常这将是。\ 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服务器。

尝试以下步骤:

  1. 打开“服务”窗口(打开“运行框”并键入services.msc)。

  2. 寻找SQL服务(使用SQL前缀)。

  3. 启动它们(如果不能启动,转到步骤4)。

  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了一个例外。 启用S​​QL Serverconfigurationpipe理器中的所有内容。

我确保并做了以上的工作,我只想分享一下DOUBLE BACKSLASH

oBuilder.DataSource =“SPECIFICPCNAME \ SQLEXPRESS”;

使用一个单一的反向导致一个构build错误,即:错误1无法识别的转义序列

我希望这有助于下一个人 – 我牺牲了晚餐,午夜点心和NBA亮点时间解决这个(耻辱)

感谢[Tamizh venthan] ^ _ ^

通过转到计算机pipe理 – > SQL和服务,启用TCP / IP,pipe道协议,确保服务处于打开状态。 在防火墙上打开端口。 尝试通过命令提示符login – >作为pipe理员; 最后的用户名应该是(本地)\ SQLEXPRESS。 希望这可以帮助。

打开SQL Serverconfigurationpipe理器

  1. 从右侧selectSQL Server服务。
  2. 从右侧find你的服务器,并转到它的属性(右键单击)
  3. 将login方法更改为本地系统。

在这里输入图像说明

在这里输入图像说明

我有同样的问题,并通过禁用我的防火墙(ESET)解决了这个问题。

解决此问题的第一步应该是尝试从另一台计算机ping自己的计算机。 如果你有防火墙,你可能无法ping通自己。 我试图ping我自己的电脑,然后ping失败(没有得到服务器的响应)

我试图在VS2015中添加一个新的连接。 这里没有任何build议的工作。 怀疑向导中存在某种错误,尤其是SSMS能够连接好的时候,我决定尝试欺骗它。 有效!

  1. 而不是添加连接,使用“创build新的SQL Server数据库”。 input您的服务器名称和新数据库的随机名称,例如“test”。

  2. 假设成功,打开VS中的服务器资源pipe理器,在数据连接中find连接,右键单击它并select修改连接。

  3. 将“test”(从步骤1)更改为要连接的现有数据库的名称。 点击“testing连接”。 这一次它应该工作!

  4. 删除您在步骤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,“无法注册服务主体名称”,为空

对我而言,它返回了错误原因