在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。

时间:2021-03-22 00:34:31
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)



请问怎么解决这个问题,试过很多网上的方法 都不行!!
求大神们赐教!

7 个解决方案

#1


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

#2


这些我都有确认过了,4点都没问题。问题还是存在,痛苦....

#3


截图给我看看你的配置管理器和你如何连接的

#4


在网上找的,你看看这个文章:

http://www.cnblogs.com/xpxu/archive/2010/01/29/1659476.html

#5


另外,我在想,你的机器的名称是否修改过,如果修改过,可能导致不能连接上,试试这个:

主要就是看下面的2个的@@servername和serverproperty('servername')值,是否一样:

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')

#6


引用 2 楼 wonderful_abc 的回复:
这些我都有确认过了,4点都没问题。问题还是存在,痛苦....

这个我能帮你解决,帖子里说不清楚,给我QQ远程吧

#7


can you connect with sql server logins? have you opened named pipe protocal?
can you try to use TCP:SERVERNAME,PORT connect?

#1


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

#2


这些我都有确认过了,4点都没问题。问题还是存在,痛苦....

#3


截图给我看看你的配置管理器和你如何连接的

#4


在网上找的,你看看这个文章:

http://www.cnblogs.com/xpxu/archive/2010/01/29/1659476.html

#5


另外,我在想,你的机器的名称是否修改过,如果修改过,可能导致不能连接上,试试这个:

主要就是看下面的2个的@@servername和serverproperty('servername')值,是否一样:

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')

#6


引用 2 楼 wonderful_abc 的回复:
这些我都有确认过了,4点都没问题。问题还是存在,痛苦....

这个我能帮你解决,帖子里说不清楚,给我QQ远程吧

#7


can you connect with sql server logins? have you opened named pipe protocal?
can you try to use TCP:SERVERNAME,PORT connect?

相关文章