苦恼了很久的问题终于解决了,两台DB建立链接服务器用251.10访问251.11始终是访问不了,但251.11访问10却是可以的,这可真是奇怪。
检查了@@version 两版本一摸一样,telnet 1433 也能彼此访问,其他设置基本一样,唯一不同的是11有服务器别名。
苦难了一番,仔细查找问题的原因,发现了蛛丝马迹。
先用查询分析器去连251.11/DB,没有反应,于是在客户端网络使用工具里 添加了个别名,然后再试用别名访问,当然通了。
这回灵感来了
建立链接服务器的代码
EXEC sp_addlinkedserver
@server='HOST-S29',--被访问的服务器别名
@srvproduct='', --sqlserver不需要指定
@provider='SQLOLEDB',
@datasrc='192.168.251.11/db' --要访问的服务器
EXEC sp_addlinkedsrvlogin
'HOST-S29', --被访问的服务器别名
'false',
NULL,
'dba', --帐号
'password' --密码
原来问题就出现这里@datasrc='192.168.251.11/db' --要访问的服务器 。一直以为这里是填写真实的数据库网络地址,其实这里要填写的是和查询分析器里填写的一样,是要写已经在客户端工具里建立的别名。
更改以后,再次查询远程服务器数据,ok一切搞定。
虽然问题不大,但真的很恼人啊。