在分布式数据库当中,两个数据库之间相互访问

declare @serverName varchar(20)
set @serverName='cmm'
if not  exists(select 1 from master.dbo.sysservers where srvname=@serverName)
begin

EXEC  sp_addlinkedserver
      @server='cmm',--被访问的服务器别名,可以随便起,但是要和后面的被访问服务器别名一致
      @srvproduct='',
      @provider='SQLOLEDB',
      @datasrc='172.16.1.172'   --要访问的服务器  

end

EXEC sp_addlinkedsrvlogin
     'cmm', --被访问的服务器别名
     'false',
     NULL,
     'sa', --帐号
     '111111' --密码

例如下列就可以正确访问:

create view ApproveView

as

select * from  dbo.Approve union all select * from cmm.DiHua_test.dbo.Approve

GO

原文地址:https://www.cnblogs.com/lbg280/p/1439709.html