SQL Server 两种跨数据库查询数据的方法
1、第一种方法:
--单表查询
select * from OPENDATASOURCE('SQLOLEDB','Data Source=远程实列名;User ID=sa;Password=密码').库名.dbo.表名
--多表关联查询
SELECT A.*
FROM OPENROWSET('SQLOLEDB'
, '远程实列名'
; 'sa'
; '密码',
库名.dbo.表名1) A
LEFT JOIN OPENROWSET('SQLOLEDB'
, '远程实列名'
; 'sa'
; '密码',
库名.dbo.表名2) B
ON A.ID = B.ID
WHERE --条件

2、--第二种方法:
--先连接远程服务器:
EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程实列名;UID=用户;PWD=密码;'
exec sp_addlinkedsrvlogin @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
GO
--然后我们就可以关联远程服务器中的表进行查询、修改等操作;
select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:144
阅读量:136
阅读量:58
阅读量:168
阅读量:157