在与SQL Server建立连接时出现与网络相关的或特定于实例的错误。

在新安装了Windows 2008系统和 sql server 2008的时候,第一次运行的SQL的很多服务都没启动,这个时候 链接数据库引擎会出现 :在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)

如图【1】

这样子的错误。解决这里问题大概从以下这几个方面考虑:

1、从 Microsoft SQL Server 2008 -》配置工具-》Sql Server 配置管理器(Sql server Configuration Manager) 中查看 Sql server服务是否已经启动。

如图【2】:

如果没启动就启动。

2、如果这样子操作了,还是不行。就查看 SQL Server网络配置.

     如图【3】:中的属性,

     如图【4】:全部侦听和已启用一定要都是 是,和图【4】保持一致。然后继续检查 IP地址 ,

如图【5】:IP1,IP2,IP3.。。等等里面的 TCP动态端口全部填空白,TCP端口填 “1433” ,活动和已启用 都是 “是”。这些都设置好后保存,然后  重启 SQL Server 图【2】。

3、这些都设置了,还不行,就得考虑系统的 1433 端口是否已经 开启。

  第一步:先保证ping IP通。

    第二步:在dos下写入telnet ip 1433不会报错,能链接上,如果链接失败,

      请用DOS 命令: netsh firewall show portopening检查已经打开的端口,

      如图【6】:检查到1433端口已经打开了,如果检查到没打开,就到 防火墙中去打开此端口。

  第三步:如果还不行,就用dos命令:netstat -ano命令就可以查看本机端口开放情况与对应的程序。。并且按端口号从小到大排列。如果你本机3000端口有被调用,也会列出来,若没有就证明没被使用。

  如图【7】:可以看出,21、25以及80端口都被PID(进程标识符)为:5668的进程所占用。现在,只要知道PID为5668的进程就可以解决了,如果找不到1433端口,就说明SQl server启动运行没成功,去检查第二步是否设置正确了如果找到1433端口已经被 PID是424的进程占用了,然后打开任务管理器:

如图【8】:查看PID是424的进程是不是SQL Server.不是就结束该进程,然后重启SQL server服务(为了保证生效,可以多重启几次)

附录:使用 telnet命令的时候,提示 : telnet不是内部或外部命令。

    按照如下两图启动 telnet命令:

              

              

    如果telnet要允许远程用户登录到此计算机并运行程序,并支持多种 TCP/IP Telnet 客户端,包括基于 UNIX 和 Windows 的计算机。如果此服务停止,远程用户就不能访问程序,任何直接依赖于它的服务将会启动失败。请到服务中 启动 如下图 :

              

原文地址:https://www.cnblogs.com/huaan011/p/3602762.html