日期:2014-05-17  浏览次数:20593 次

跨服务器访问数据库sp_addlinkedserver和sp_addlinkedserver疑问
最近想获取另外一台服务器上的数据库数据,在网上找了个方法,方法如下:
EXEC sp_addlinkedserver 'report','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=192.168.1.100;UID=bb;PWD=bbadmin;'--建立链接服务器登录映射 

exec sp_addlinkedsrvlogin  @rmtsrvname='report',@useself='false',@locallogin='bb',@rmtuser='bb',@rmtpassword='bbadmin'

疑问1:
仅仅执行sp_addlinkedserver的服务器登录映射后,就可以执行select * from report.数据库.dbo.table

那为什么还要执行sp_addlinkedsrvlogin,有什么作用?

疑问2:
当执行sp_addlinkedsrvlogin  的时候,提示:
消息 15007,级别 16,状态 1,过程 sp_addlinkedsrvlogin,第 76 行
'bb' 是无效登录名或您没有相应的权限。
请问是什么原因,谢谢。
数据库 跨服务器访问数据库

------解决方案--------------------
那为什么还要执行sp_addlinkedsrvlogin,有什么作用?
--> 
sp_addlinkedsrvlogin: 创建或更新本地实例上的登录名与远程服务器中安全帐户之间的映射.
参考 http://msdn.microsoft.com/zh-cn/library/ms189811(v=sql.100).aspx

当执行sp_addlinkedsrvlogin  的时候,提示:
消息 15007,级别 16,状态 1,过程 sp_addlinkedsrvlogin,第 76 行
'bb' 是无效登录名或您没有相应的权限。
请问是什么原因,谢谢。
--> 本地实例或远程服务器没有登录名bb,须先创建.