连接SQL服务器只能用服务器IP连接,用服务器名却连接不上?为什么啊?

bafenghan 2005-08-18 10:56:21
连接SQL服务器只能用服务器IP连接,用服务器名却连接不上?为什么啊?
...全文
207 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bafenghan 2005-08-18
不行!
找不出来原因啊!
晕啊!
回复
klan 2005-08-18
在你的C:\WINDOWS目录\system32\drivers\etc\hosts文件的最后加上“ip地址 服务器名”


试试吧
回复
bafenghan 2005-08-18
刚才检查过!
我要连接的服务器和我的机器不在同一个域中,但是在同一个局域网内!
他是工作组,而且固定了IP.
这个有联系吗?
回复
xr105 2005-08-18
服务器不支持命名管道.只支持TCP/IP管道
回复
bafenghan 2005-08-18
我的不是IP连不上,是用服务器名连不上!
TCP/IP也启用了!
但是还是不行!
很奇怪啊!
回复
点点星灯 2005-08-18
对于winxp sp2,win2003 需要安装sql sp3或sp4才能使用ip



检查你的SQL有没有打补丁,没有的话要打上补丁,检查的方法是在查询分析器中运行:
select @@version
如果出来的版本号是8.00.2039以下,则表明你未安装sp4的补丁,要装上.

SQL补丁下载:
全部补丁的位置(在下载页的中间部分,可以选择语言,以下载和sql server实例语言对应的补丁)
http://www.microsoft.com/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=zh-cn
应该安装的是
http://download.microsoft.com/download/9/b/f/9bff6646-2cdb-4069-ada0-548be9cb9338/SQL2000-KB884525-SP4-x86-CHS.EXE
注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装


如果你的操作系统是xp,那么在安装xp sp2后,不管以前是否安装过sql sp4,都要再安装一次,并且在防火墙中开启1433端口,否则无法被其他电脑访问
回复
点点星灯 2005-08-18
----------------------转帖---------------------

----------------------邹建---------------------

1.SQL Server服务器--开始--程序--Microsoft SQL Server
--服务器网络实用工具
--看看启用的协议中,有没有"TCP/IP"

如果没有的话,那就肯定不能用IP地址连接的,因为IP地址是使用TCP/IP协议的
不启用TCP/IP就禁用了IP地址连接


2.如果已经启用了TCP/IP,则在"服务器网络实用工具",点属性,看看默认端口是多少
如果不是1433,则连接的时候要用: IP地址,端口号 做为sql服务器名来连接


3.如果还是不行,检查你的TCP/IP协议是否工作正常,最好是删除重新安装一次
一般的检查方法是:
a.保证ping <服务器IP地址> 通(有防火墙的先关闭防火墙)
b.在命令提示符下执行:telnet <服务器ip地址> 1433 不会报错

4.可能是你和TCP/IP协议不是默认协议(当前使用的协议)

回复人: leimin(黄山光明顶)

在WINDOWS 2000以后的操作系统中,MS为解决SQL SERVER的安全问题将TCP/IP配置
为SQLSERVER的默认连接协议,你可以在CLIENT NETWORK UTILITY中看到TCP/IP和NAME PIPE
的顺序。

你也可以在:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00
看到默认的协议。

2.怎么在程序中更改Named Pipes , Tcp/ip ,其sql语句怎么写?

你可以在上面提到的注册表的位置修改:
CLIENT端:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00

SERVER端:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib]
"ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,
回复
tangqijun199 2005-08-18
理论上应该是可以的,估计你的网络协议有点问题
回复
msriver 2005-08-18
把你网卡的dns变域中的dns。
回复
msriver 2005-08-18
是不是考虑你的dns要改变!
可能不能解析计算名吧。
回复
相关推荐
发帖
应用实例
创建于2007-09-28

2.7w+

社区成员

MS-SQL Server 应用实例
申请成为版主
帖子事件
创建了帖子
2005-08-18 10:56
社区公告
暂无公告