Sql Server使用链接服务器远程取数据!

时间:2022-03-03 07:23:53

由于最近开发的一个查询系统,基本是在其它服务器的,所以在本地服务器设计了中间,用来存从远程服务器取数据!
    一种方法是通过,OPENDATASOURCE来远程读取数据!

Sql Server使用链接服务器远程取数据!SELECT     *
Sql Server使用链接服务器远程取数据!
FROM        OPENDATASOURCE (
Sql Server使用链接服务器远程取数据!         
' SQLOLEDB ' ,
Sql Server使用链接服务器远程取数据!         
' Data Source=ServerName;User ID=MyUID;Password=MyPass '
Sql Server使用链接服务器远程取数据!         ).Northwind.dbo.Categories
Sql Server使用链接服务器远程取数据!

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

另一种方法就是添加链接服务器,
Sql Server使用链接服务器远程取数据!sp_addlinkedserver  @server   =  N '链接服务器名 ' ,
Sql Server使用链接服务器远程取数据!    
@srvproduct   =  N '   ' ,
Sql Server使用链接服务器远程取数据!    
@provider   =  N ' SQLOLEDB '
Sql Server使用链接服务器远程取数据!    
@datasrc   =  N '远程服务器IP '
Sql Server使用链接服务器远程取数据!
添加链接服务器登录
Sql Server使用链接服务器远程取数据!sp_addlinkedsrvlogin  [  @rmtsrvname =  ]   '链接服务器名 '
Sql Server使用链接服务器远程取数据!    
[  , [ @useself =  ]   'false '  ]
Sql Server使用链接服务器远程取数据!    
[  , [ @locallogin =  ]   '本地登录名 '  ]
Sql Server使用链接服务器远程取数据!    
[  , [ @rmtuser =  ]   '远程登录名 '  ]
Sql Server使用链接服务器远程取数据!    
[  , [ @rmtpassword =  ]   '远程密码 '  ]

这样访问远程服务器的就可以通过SQL
Sql Server使用链接服务器远程取数据!select   *   from  链接服务器名.远程数据名.远程所有者.远程表名

不用管远程服务器的地址所登录名,只能链接服务器名,不变,正式发装时,不能修改程序!