局域网访问sql server2005,用IP加端口号可以登录,但使用服务器名不能登录。

时间:2021-04-01 18:06:57
   问题如下:
       我在自己机器上建立了一个数据库来提供服务,以供局域网内访问使用。TCP/IP和name pipes等都开了,也开了允许远程连接。数据库里也对要登录的用户名启用了。但是就是有一个问题:在局域网的另一台机器上,打开SSMS,我使用IP登录时没问题的。而是用服务器名登录就会出错。SSMS中对网络上的数据库进行查找时,可以看到数据库服务器的服务器名。
错误信息如下:
      TITLE: 连接到服务器
------------------------------

无法连接到 RONNIE。

------------------------------
ADDITIONAL INFORMATION:

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

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=53&LinkId=20476

------------------------------
BUTTONS:

OK
------------------------------



不知道有没有人遇到这种情况,求解决办法!多谢!

15 个解决方案

#1


不在同一个域,联系网络管理员设置

#2


莫非你实例名没填写对,看看数据库实例名称是否正确。

#3


我记得c盘windows下面有修改服务器名的地方

#4


修改C:\WINDOWS\system32\drivers\etc\hosts文件,增加行 IP跟主机名的映射关系就ok了

#5


引用 3 楼 lihan6415151528 的回复:
我记得c盘windows下面有修改服务器名的地方


你说的是hosts文件吧,可以通过他进行名称和ip的映射。
不过提醒了另一个事,你先ping一下RONNIE这个机器,ip是不是你需要连的那个机器 。

#6


引用 5 楼 flyrush 的回复:
你说的是hosts文件吧,可以通过他进行名称和ip的映射。
不过提醒了另一个事,你先ping一下RONNIE这个机器,ip是不是你需要连的那个机器 。


ping 了一下试了试,主机名和IP的对应没问题

#7


按照楼上几位的说法,我在hosts文件里添加了映射关系,但还是不行。
192.168.0.185 Ronnie
格式上没错吧

#8


我觉得应该还是远程连接或者权限的问题,但是就是不知道问题出在哪。这些东西我明明都已经打开了。

#9


那有可能是端口问题吧,是默认1433端口吗。

telnet ip 1433 看看通不通

#10


引用 9 楼 flyrush 的回复:
那有可能是端口问题吧,是默认1433端口吗。

telnet ip 1433 看看通不通


也没问题,通的。。。我无语。真不知道哪里的问题。

#11


是不是服务端上管道没有开,只开了TCP/IP?

#12


引用 11 楼 wg961423 的回复:
是不是服务端上管道没有开,只开了TCP/IP?


我在外围应用配置器里,MSSQLSERVER———Database Engine———远程连接中,选择了“本地连接和远程连接”和“同时使用TCP/IP和named pipes”  所以这样应该就是开了吧

#13


我也有类似的问题,留名记号

#14


1.检查服务器iP与登录机器IP是否在同一网段。
2.检查服务器是否启用win防火墙等端口限制。
3.在\WINDOWS\system32\drivers\etc\目下,编辑hosts文件,写正确服务器IP和机器名。

#15


困扰两天的问题,终于解决啊,就是hosts的问题

#1


不在同一个域,联系网络管理员设置

#2


莫非你实例名没填写对,看看数据库实例名称是否正确。

#3


我记得c盘windows下面有修改服务器名的地方

#4


修改C:\WINDOWS\system32\drivers\etc\hosts文件,增加行 IP跟主机名的映射关系就ok了

#5


引用 3 楼 lihan6415151528 的回复:
我记得c盘windows下面有修改服务器名的地方


你说的是hosts文件吧,可以通过他进行名称和ip的映射。
不过提醒了另一个事,你先ping一下RONNIE这个机器,ip是不是你需要连的那个机器 。

#6


引用 5 楼 flyrush 的回复:
你说的是hosts文件吧,可以通过他进行名称和ip的映射。
不过提醒了另一个事,你先ping一下RONNIE这个机器,ip是不是你需要连的那个机器 。


ping 了一下试了试,主机名和IP的对应没问题

#7


按照楼上几位的说法,我在hosts文件里添加了映射关系,但还是不行。
192.168.0.185 Ronnie
格式上没错吧

#8


我觉得应该还是远程连接或者权限的问题,但是就是不知道问题出在哪。这些东西我明明都已经打开了。

#9


那有可能是端口问题吧,是默认1433端口吗。

telnet ip 1433 看看通不通

#10


引用 9 楼 flyrush 的回复:
那有可能是端口问题吧,是默认1433端口吗。

telnet ip 1433 看看通不通


也没问题,通的。。。我无语。真不知道哪里的问题。

#11


是不是服务端上管道没有开,只开了TCP/IP?

#12


引用 11 楼 wg961423 的回复:
是不是服务端上管道没有开,只开了TCP/IP?


我在外围应用配置器里,MSSQLSERVER———Database Engine———远程连接中,选择了“本地连接和远程连接”和“同时使用TCP/IP和named pipes”  所以这样应该就是开了吧

#13


我也有类似的问题,留名记号

#14


1.检查服务器iP与登录机器IP是否在同一网段。
2.检查服务器是否启用win防火墙等端口限制。
3.在\WINDOWS\system32\drivers\etc\目下,编辑hosts文件,写正确服务器IP和机器名。

#15


困扰两天的问题,终于解决啊,就是hosts的问题