高分请教跨服务器访问的问题
有两台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服務器即可