在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)请问怎么解决这个问题,试过很多网上的方法 都不行!!
求大神们赐教!sql server

解决方案 »

  1.   

    步骤顺序:
    1、打开sqlserver配置管理器,看看sqlserver服务是否存在,如果存在,是否开启。
    2、注意“实例”,你的机器是否装了sqlserver和vs,vs经常自带一个sqlexpress,看是否连错实例。
    3、是否用了sa登录,而前提是你么有开启混合身份验证
    4、本机登录还是远程登录,如果本机登录,一般不需要开什么网络服务,远程的话就不一样了。
      

  2.   

    SERVER=nannar-test\nannar-test-01字符串用这个试试
      

  3.   

    如果不行的话用:Server=nannar-test//nannar-test-01;Initial Catalog=master;Uid=sa;Pwd=试试
      

  4.   

    另外如果你的混合身份验证是刚点开的,需要重启服务。连接字符串可以看看这里:
    http://blog.csdn.net/wind_67/article/details/6422063应该是你的连接字符串写错了
      

  5.   

    不行,错得更严重了,原来还能查询到部分数据的,现在改为nannar-test\nannar-test-01再也找不到任何数据
      

  6.   

    把SQL Server Browser启动起来试试
      

  7.   

    把最后一幅图里面的sql browser也开了,不知道是不是你端口关了。回复引用一下
      

  8.   

    sql browser也开了,还是不行。我没有跨库,该系统只用到一个数据库,只是有些数据库系统级的操作用到Master库而已。
      

  9.   

    对,就是有部分的查询会出这个错误,很头痛,同样一个连接字符串,为什么会执行某些SQL会出错呢,而且我也曾将程序运行过程中的这些印发错误的SQL复制出来放在企业管理器中执行过,都能查得出来数据。
      

  10.   

    sa应该能做任何操作,本人遇到过的情况:
    1、试一下限定对象的架构,甚至库,比如访问A表时用库名.架构名.表名这样来访问。
    2、sqlserver配置问题,导致性能到达一定程度就无法分配资源,比如一些特大的查询。sqlserver就会断开连接。其他的情况暂时也没有头绪,如果恢复原有配置(比如去掉你第一个图中的【允许远程访问】)还不行的话。那可能你的安装也有点问题,我一直都默认安装,也没见过有任何问题。
    3、看看错误日志有没有一些头绪。上班,还没解决的话回到公司再看,回复请引用....
      

  11.   

    谢谢你 發糞塗牆 !我再看看吧,或许正如您所说的第二种情况,性能到达一定程度就无法分配资源,比如一些特大的查询,那就要深入分析了。对了,我就是因为数据量比较大,所以采用分表的方式来设计的数据库,通过查询系统中的表(采用模糊查询,比如:'TABLE%',因为我的表名都是TABLEYYYYMM的格式,后面跟的是年月,即按月分表),如果您有什么好提议,请指教,再次感谢!!
      

  12.   

    你那个sql server版本足够用分区表了,
      

  13.   

    还是老样子:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)难道跟我分表(不是分区表)有关系?我再研究研究吧!
      

  14.   

    你修改过服务器的名称不,试试这个:看两个返回的结果是否一致:
    --1、查询use master
    go
    select @@servername
    select serverproperty('servername')如果不一致,那么运行下面的代码,修改:
    --***************************************
    --如果这两个结果不一致,说明机器改过名字,在配置复制的时候就会报上面的错误。--2、运行以下脚本修改
    --***************************************
    if   serverproperty('servername')   <>   @@servername  
        begin  
        declare   @server   sysname  
        set   @server   =   @@servername   
        exec   sp_dropserver   @server   =   @server  
        set   @server   =   cast(serverproperty('servername')   as   sysname)  
        exec   sp_addserver   @server   =   @server   ,   @local   =   'LOCAL'  
    end/***************************************
    说明:其实就是删除旧的服务器名servername,再添加新的服务器名
    sp_dropserver '旧的服务器名'
    sp_addserver '新的服务器名' , 'LOCAL'
    3、重启SQL SERVER
    4、再运行以下脚本验证一下。
    ***************************************/use master
    go
    select @@servername
    select serverproperty('servername')