mssql 分布式查询

mssql 分布式查询

ID:33592975

大小:587.51 KB

页数:19页

时间:2019-02-27

mssql  分布式查询_第1页
mssql  分布式查询_第2页
mssql  分布式查询_第3页
mssql  分布式查询_第4页
mssql  分布式查询_第5页
资源描述:

《mssql 分布式查询》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、MSSQL分布式查询MSSQlServer所谓的分布式查询(DistributedQuery)是能够访问存放在同一部计算机或不同计算机上的SQLServer或不同种类的数据源,从概念上来说分布式查询与普通查询区别它需要连接多个MSSQL服务器也就是具有多了数据源.实现在服务器跨域或跨服务器访问.而这些查询是否被使用完全看使用的需要.本篇将演示利用SQlExpress链接远程SQlServer来获取数据方式来详细说明分布式查询需要注意细节.先看一下系统架构数据查询基本处理:              当然如果采用了分布式查询我们系统采取数据DataBase也就可能

2、在多个远程[RemoteServer]上访问时:             如上截取系统架构中关于数据与缓存流向中涉及的分布式查询业务,当我们从客户端Client发起请求数据时.首先检查MemCacheServer缓存服务器是否有我们想要数据.如果没有我需要查询数据库. 而此时数据要求查询多个远程服务器上多个数据库中表,这时利用分布式查询.获得数据然后更新我们在缓存服务器MemCacheServer上数据保持数据更新同步,同时向客户端Client直接返回数据.那如何来执行这一系列动作中最为关键分布式查询?<1>分布式查询方式我们知道Microsoft微软公用的数据

3、访问的API是OLE_DB,而对数据库MSSQlServer2005的分布式查询支持也是OLE_DB方式.SQLServer用户可以使用分布式查询访问以下内容:A:存储在多个SQLServer实例中的分布式数据B:存储在各种可以使用OLEDB访问接口访问的关系和非关系数据源中的异类数据OLEDB访问接口将在称为行集的表格格式对象中公开数据。SQLServer允许在Transact-SQL语句中像引用SQLServer表一样引用OLEDB访问接口中的行集,[其实不用关心这个行集概念它的功能类似SQl中临时表不过它容积更大能容纳类型更多更丰富]SQLServer实例

4、的客户机与OLEDB访问接口之间的连接如下图:  从上图可以看出.客户端借助OLEDB接口可以访问Oracle/MSJet/MSSQL/ODBC/第三方等这些丰富数据源来我们分布式查询提供数据.说了这么多关于OLEDB底层支持.关于在MSSQL2005中则支持两种方式来进行分布式查询:使用添加链接服务器方式(AddLinkServer)使用特定名称及特定数据源来直接指定(AddHostNames)其实这两种方式在实际运用中是有区别的:方式A:AddLinkServer方式建立服务器之间关联.创建一个链接的服务器,使其允许对分布式的、针对OLEDB数据

5、源的异类查询进行访问.一般适用于持久的数据操作对于数据量偏大服务器之间交付时间长特点.方式B:AddHostName利用域来唯一识别数据库以及数据库表对象.来实现跨服务器访问.这种方式一般比较简单主要适用于对数据需求临时性查询是使用偏多.不适合做大批量数据提取.有性能瓶颈.<2>分布式查询实现在进行实现分布式查询之前.本次测试Demo对应的SQL版本:        确定SQLServer版本后如下会演示两种方式来实现分布式查询,并对DistributedQuery中详细细节进行说明.<2.1>链接服务器查询链接服务器配置使SQLServer可以对远程服务器上的

6、OLEDB数据源执行命令。链接服务器具有以下优点:访问远程服务器。能够对企业内的异类数据源发出分布式查询、更新、命令和事务。能够以相似的方式确定不同的数据源下图显示了链接服务器配置的基础:           现在利用链接服务器方式实现数据访问远程服务器数据库CustomerDB中Users表数据先本地添加LinkServer:1:--建立连接服务器第一步建立连接IP方式来控制2: 3:EXECsp_addlinkedserver'192.168.10.104','SQLServer'4: 5:--查看链接服务器信息[测试连接成功]6: 7:selectname

7、,product,provider,data_source,query_timeout,lazy_schema_validation,is_remote_login_enabled,is_rpc_out_enabled8:fromsys.servers9:whereis_linked=1如上市建立连接服务器最简单方式.建立链接服务器过程其实调用了系统存储过程Sp_addlinkedserver.第一个参数为Name其实用来唯一标识链接服务器.当然可以其他任何有意义字符串来定义,但我个人建议使用远程服务器的IP来标识.第二个参数是要添加为链接服务器的OLEDB数据

8、源的产品名称.默认为Nu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。