ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 使用sql server进行分布式查询 (转)

使用sql server进行分布式查询 (转)

原创 Linux操作系统 作者:jcszjswkzhou 时间:2019-06-17 22:54:06 0 删除 编辑
可以使用sql-server企业管理器进行建立,注意其中的rpc及rpc out两项,也可以使用sql语句来完成定义,主要涉及到三个存储过程
sp_addlinkedserver,sp_serveroption和sp_addlinkedsrvlogin,以下是三个存储过程的语法:
sp_addlinkedserver
创建一个链接的服务器,使其允许对分布式的、针对 ole db 数据源的异类查询进行访问。在使用 sp_addlinkedserver 创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为 microsoft® sql server™,则可执行远程存储过程。
语法
sp_addlinkedserver [ @server = ] ’server’
[ , [ @srvproduct = ] ’product_name’ ]
[ , [ @provider = ] ’provider_name’ ]
[ , [ @datasrc = ] ’data_source’ ]
[ , [ @location = ] ’location’ ]
[ , [ @provstr = ] ’provider_string’ ]
[ , [ @catalog = ] ’catalog’ ]
例如:
sp_addlinkedserver ’servername’,’’,’sqloledb’,’dbconn’,null,’driver={sql server};server=192.168.1.181;uid=sa,pwd=;’
此处servername为自定义名称,dbconn为定义的odbc数据源
一般使用的参数如下:
@server “linked server”
@srvproduct “product name”
@provider “provider”
@datasrc “data source”

二、设置服务器选项
使用 sp_serveroption 过程,所要使用的参数如下:
@server “linked server”
@optname “rpc”或“rpc out”
@optvalue true 或 false

三、添加login
使用 sp_addlinkedsrvlogin 过程,所要使用的参数如下:
@rmtsrvname “linked server”
@useself true 或 false
@locallogin 本地login
@rmtuser 远程用户
@rmtpassword 远程用户口令

全部完整的示例如下:
exec sp_addlinkedserver ’test’,’’,’sqloledb’,’test’,null,’driver={sql server};server=ipaddress;uid=sa,pwd=;’
exec sp_serveroption n’test’, n’rpc out’, n’true’
exec sp_serveroption n’test’, n’rpc’, n’true’
exec sp_addlinkedsrvlogin ’test’,’false’,null,’sa’,’’
访问可以使用如下语句:select * from test.pubs.dbo.tb_maintab
以上在windows2000,sql-server2000测试通过

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-122617/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-08-29

  • 博文量
    3488
  • 访问量
    2621276