由于最近开发的一个查询系统,基本是在其它服务器的,所以在本地服务器设计了中间,用来存从远程服务器取数据!
一种方法是通过,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 链接服务器名.远程数据名.远程所有者.远程表名
不用管远程服务器的地址所登录名,只能链接服务器名,不变,正式发装时,不能修改程序!
新闻热点
疑难解答