比如在server1中分别连接同server2,server3的连接.select * from server2.db2.user2.tb2 select * from server3.db3.user3.tb3
我也是像你那样写可是为什么找到的都是本地的数据啊 Select * from SQlServer.BagData.dbo.Person where sUserNo='0101'
1.简单的方法,利用系统函数OPENROWSET/OPENDATASOURCE来实现
SELECT a.* FROM OPENROWSET('SQLOLEDB','seattle1';'sa';'MyPass', 'SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname') AS aSELECT * FROM OPENDATASOURCE( 'SQLOLEDB', 'Data Source=ServerName;User ID=MyUID;Password=MyPass' ).Northwind.dbo.Categories2.如果访问远程数据库比较频繁或复杂,可以先创建链接服务器,然后执行Select 语句 --创建链接服务器 exec sp_addlinkedserver @server='别名',@provider='sqloledb',@srvproduct='',@datasrc='远程服务器名' exec sp_addlinkedsrvlogin @rmtsrvname='wzb',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码' --执行查询语句 select * from 别名.库名.dbo.表名
select * from server3.db3.user3.tb3
Select * from SQlServer.BagData.dbo.Person where sUserNo='0101'
SELECT a.*
FROM OPENROWSET('SQLOLEDB','seattle1';'sa';'MyPass',
'SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname') AS aSELECT *
FROM OPENDATASOURCE(
'SQLOLEDB',
'Data Source=ServerName;User ID=MyUID;Password=MyPass'
).Northwind.dbo.Categories2.如果访问远程数据库比较频繁或复杂,可以先创建链接服务器,然后执行Select 语句
--创建链接服务器
exec sp_addlinkedserver
@server='别名',@provider='sqloledb',@srvproduct='',@datasrc='远程服务器名'
exec sp_addlinkedsrvlogin
@rmtsrvname='wzb',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码' --执行查询语句
select * from 别名.库名.dbo.表名