【问题标题】:Provider named pipes provider error 40 could not open a connection to SQL Server error 2 [duplicate]提供程序命名管道提供程序错误 40 无法打开与 SQL Server 错误 2 的连接 [重复]
【发布时间】:2013-12-27 09:23:18
【问题描述】:

当我尝试在 SQL Server Management Studio 中连接到我的数据库时,我收到此错误:

提供程序命名管道提供程序错误 40 无法打开与 SQL Server 的连接错误

在检查了几个关于 SO 的答案后,我打开了 SQL Server 配置管理器

我发现SQLSERVER (SQLEXPRESS) 和所有三个选项状态>> STOPPED

我尝试通过右键单击它开始,但出现以下错误:

请求失败或服务没有及时响应

如何连接到实例???

【问题讨论】:

  • 检查 Windows 服务/SQL 服务器是否“自动”启动
  • 我做了所有的自动启动...但同样的问题

标签: c# sql-server


【解决方案1】:

嗯,我有一个简单的解决方案来解决您的问题。请按照以下步骤操作:

  1. 转到 SQL Server 配置管理器
  2. SQL Server 网络配置:
  3. MSSQLSERVER 协议
  4. 在右窗格拆分页面中,您必须禁用 VIA,如下所示
    1. 共享内存 - 启用
    2. 命名管道 - 启用
    3. TCP/IP - 启用
    4. VIA - 禁用

【讨论】:

  • 如何启动 SQL Server 配置管理器msdn.microsoft.com/en-us/library/ms174212.aspx
  • 要启动配置管理器,只需通过您的操作系统搜索应用程序(对于 Windows,只需单击开始按钮并搜索配置管理器)
【解决方案2】:

在控制面板中搜索服务, 在那里您会在管理工具部分找到并输入查看本地服务

选择它将显示一个包含系统中所有服务的窗口, 找到您的服务 SQLEXPRESS 并点击 Start。它应该启动你的服务器实例:)

【讨论】:

    【解决方案3】:

    在 Sql Server Configuration Manager 程序中,启动 SQL SERVER,启用 TCP/IP 连接。之后,允许防火墙中的端口确保没问题。

    【讨论】:

      【解决方案4】:

      这是一个通用错误,所以它可能是很多事情。我收到此错误一次,当我将端口号(1433)添加到我的连接字符串时,一切又开始工作了。

      <connectionStrings>
          <add name="ConnectionString" connectionString="Data Source=Server,1433;Initial Catalog=Test;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>
      </connectionStrings>
      

      【讨论】:

      • 如何获取端口号?
      【解决方案5】:

      我已经提供了解决您的问题的步骤Provider named pipelines provider error 40 could not open a connection to SQL Server error如下:

      1. 确认SQL Server 服务服务工作正常。
      2. 确认工作正常SQL Server (MSSQLSERVER)
      3. 确认工作正常SQL Server Browser
      4. 删除所有以前的别名,现在根据您的要求创建新的别名
      5. 现在分配您的 SQL Server 默认端口 1433
      6. 现在点击客户端协议,点击右侧窗格中的TCP/IP,现在点击鼠标右键,打开Property,在这里你可以检查你的SQL 1433 的默认端口
      7. 运行 SQL Server Management Studio,然后右键单击,单击 property 选项,然后单击选项卡上的 Connections,现在检查允许远程连接到此服务器
      8. 确认是否Ping IP 主机
      9. 检查您的 防火墙 设置是否阻止您的 SQL Server 端口

      【讨论】:

        【解决方案6】:

        就我而言,这就是解决方案。

        我发现我可以使用 localhost**instancename** 进行连接

        所以我只卸载了数据库引擎组件。

        然后我运行 SQL Server 安装程序,这次选择了默认实例选项,而之前我将实例命名为与我的机器相同。

        现在我可以使用 localhost 进行连接(这是在多个应用程序配置文件中设置的,所以我仍然需要像这样连接)。

        【讨论】:

          【解决方案7】:

          就我而言,首先我在本地 SQL Server 中插入/查看/删除数据。然后在开发的某个时刻,客户端想要在服务器(网络)中启动系统(Windows Forms),所以我遇到了这种问题,我检查的是this.viewEmployeeTableAdapter之类的,我删除了它,因为它仍然连接到本地数据库。我注意到这是因为在我的电脑中。当我将其转移到其他 PC 时,系统工作正常

          提供者命名管道提供者错误 40 无法打开与 SQL Server 错误

          正在出现。所以这是因为我有一个打开我的 SQL Server 的 sql 连接,而另一台 PC 没有。

          【讨论】:

            【解决方案8】:

            自从安装 .net 4.7 后,我不得不更改我的连接字符串以包含 TransparentNetworkIPResolution=False;

            Server=server;Database=dbname;Uid=user;Pwd=pword;TransparentNetworkIPResolution=False;
            

            【讨论】:

              【解决方案9】:

              最好的办法是卸载 SQL 并再次安装 SQL,首先清除所有临时文件并在安装后重新启动。在安装时为实例指定一个正确的名称。

              【讨论】:

                猜你喜欢
                • 2013-02-18
                • 2011-03-08
                • 2013-05-14
                • 2012-04-14
                • 1970-01-01
                • 2017-12-20
                • 2016-09-18
                相关资源
                最近更新 更多