日期:2014-05-18  浏览次数:20361 次

高分请教跨服务器访问的问题
有两台SQL   SERVER服务器A和B,A服务器有用户sa密码qq,B服务器用户sa密码TT,现在在A服务器以sa登录到B服务器,并成功执行了
EXEC   sp_addlinkedserver   'A ',   N 'SQL   Server '  
EXEC   sp_addlinkedsrvlogin       'A ', 'false ',NULL, 'sa ', 'qq '  
当用
select   *   from   [A].[数据库名].[dbo].[表名]进行查询时提示:
服务器:   消息   18452,级别   14,状态   1,行   2
用户   'sa '   登录失败。原因:   未与信任   SQL   Server   连接相关联。

请教该如何解决,一决解则给分.
注:两台服务器已经设置为   混合模式登录,相互之间用查询分折器都可以连接

------解决方案--------------------
跨服务器查询、插入等我一般用
select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
这种方式
------解决方案--------------------
EXEC sp_addlinkedserver 'A ', ' ', 'MSDASQL ',NULL,NULL, 'DRIVER={SQL Server};SERVER=机器名称或IP地址;UID=sa;PWD=qq; '
exec sp_addlinkedsrvlogin @rmtsrvname= 'A ',@useself= 'false ',@locallogin= 'sa ',@rmtuser= 'sa ',@rmtpassword= 'qq '
------解决方案--------------------
不对不对,你查询分析器可以登录的呀。。。
你重启下sqlserver服务试试看
------解决方案--------------------
查询分析器和语句都是用同一种方式登录吗?我是说两个都是IP或者机器名吗?
将语句中 'sql服务器名 '换成与查询分析器相同的方式试试
------解决方案--------------------
如果是SQL2K SERVER的話,可在A服務器的企業管理器--Security--Linked Servers--(右鍵)New Linked Servers裡面的General版面Linked server 輸入B服務器的電腦名稱,server type選SQL SERVER;在Security版面輸入B服務器的用户和密码,即可從A查詢B的TABLE.

同樣設置B服務器即可