SQL Server 两种跨数据库查询数据的方法

2026-02-14 22:25:29

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   --条件

SQL Server 两种跨数据库查询数据的方法

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.表名

SQL Server 两种跨数据库查询数据的方法

猜你喜欢