Welcome

首页 / 数据库 / SQLServer / SQL Server使用链接服务器远程取数据

SQL Server使用链接服务器远程取数据2008-05-09由于最近开发的一个查询系统,基本是在其它服务器的,所以在本地服务器设计了中间,用来存从远程服务器取数据!

一种方法是通过,OPENDATASOURCE来远程读取数据!

SELECT *
FROM OPENDATASOURCE(
"SQLOLEDB",
"Data Source=ServerName;User ID=MyUID;Password=MyPass"
).Northwind.dbo.Categories

但是远程的服务器不能确认,比较麻烦,如果要实现,只有把连接信息保存到服务器,通过动态SQL(EXEC或sp_excute_sql来达到目的)。

另一种方法就是添加链接服务器。

sp_addlinkedserver @server = N"链接服务器名",
@srvproduct = N" ",
@provider = N"SQLOLEDB",
@datasrc = N"远程服务器IP",

添加链接服务器登录:

sp_addlinkedsrvlogin
[ @rmtsrvname = ] "链接名"
[ , [ @useself = ] "false" ]
[ ,[ @locallogin = ] "本地登录名" ]
[ , [ @rmtuser = ] "远程登录名" ]
[ , [ @rmtpassword = ] "远程密码" ]

这样访问远程服务器的就可以通过SQL:

select * from 链接服务器名.远程数据名.远程所有者.远程表名

不用管远程服务器的地址及登录名,只能链接服务器名。