--直接用openrowset的查询示例 select * from openrowset('SQLOLEDB' ,'sql服务器名';'用户名';'密码' ,数据库名.dbo.表名)
TRY:select * from a, openrowset('SQLOLEDB','服务器2';'用户名';'密码',数据库名.dbo.表b) b, openrowset('SQLOLEDB','服务器2';'用户名';'密码',数据库名.dbo.表c) c where ...
--创建链接服务器 exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','远程服务器名或ip地址' exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码' go--查询示例 在服务器1创建 create proc test_p as select a.*,b.*,c.* --定义显示列 from a, srv_lnk.数据库名.dbo.表b as b, srv_lnk.数据库名.dbo.表c as c, where ........条件 如果存储过程在服务器2创建同上
select * from openrowset('SQLOLEDB'
,'sql服务器名';'用户名';'密码'
,数据库名.dbo.表名)
*
from
a,
openrowset('SQLOLEDB','服务器2';'用户名';'密码',数据库名.dbo.表b) b,
openrowset('SQLOLEDB','服务器2';'用户名';'密码',数据库名.dbo.表c) c
where
...
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
go--查询示例
在服务器1创建
create proc test_p
as
select a.*,b.*,c.* --定义显示列
from a,
srv_lnk.数据库名.dbo.表b as b,
srv_lnk.数据库名.dbo.表c as c,
where ........条件
如果存储过程在服务器2创建同上