今天小编就为大家分享一篇关于SQL Server 2008数据库分布式查询知识,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

在接触公司一个系统时,公司使用的是SQL Server 2008数据库,里面涉及到了多个数据库之间的查询,而且数据库是分布式的,数据库分布在多台服务器之间,并且各个数据库各尽其责,负责存放不同模块功能的数据。这里面就要涉及到了数据库的分布式查询。

补充一下分布式查询的知识:

分布式查询从多异类数据源中访问数据。这些数据源可以存储在同一台计算机或不同的计算机上。Microsoft SQL Server 通过使用 OLE DB 来支持分布式查询。

SQL Server 用户可以使用分布式查询访问以下内容:

    存储在多个 SQL Server 实例中的分布式数据。 存储在各种可以使用 OLE DB 访问接口访问的关系和非关系数据源中的异类数据。

OLE DB 访问接口将在称为行集的表格格式对象中公开数据。SQL Server 允许在 Transact-SQL 语句中像引用 SQL Server 表一样引用 OLE DB 访问接的行集。

外部数据源中的表和视图可以在 SELECT、INSERT、UPDATE 和 DELETE Transact-SQL 语句中直接引用。因为分布式查询使用 OLE DB 作为基本接口,因此它们不仅可以访问带有 SQL 查询处理器的传统 DBMS 系统,也可以访问复杂的、具有不同功能的数据源所管理的数据。只要拥有数据的软件通过 OLE DB 访问接口在表格格式行集中公开其数据,就可在分布式查询中使用此数据

因为公司的业务要经常使用不同服务器上的数据库,所以公司的数据库都建立了一堆的链接服务器。通过建立这些链接服务器,就可以使用这些链接服务器的别名来简化SQL语句的编写和sql开销;

使用SQL SERVER 2008管理工具可以直接界面化的添加链接服务器;这里给出使用sql语句,利用系统存储过程来添加链接服务器的方法,这里要用到两个存储过程:

sp_addlinkedserver
sp_addlinkedsrvlogin

一个是添加链接服务器,一个是添加链接服务器连接登陆验证;具体此两个存储过程参数含义,请参考微软手册;注意,执行此存储过程登陆的用户必须要有Sysadmin权限才能执行;

假设现在在10.155.25.100 上的db中要使用10.155.24.101上一个 FlieDB01表中的信息;则在10.155.25.100上进行如下SQL 语句:

exec sp_addlinkedserver
@server='SZDB01', --要添加的连接服务器的别名
@srvproduct='',
@provider='SQLOLEDB',--指定通过SQLOLEDB链接
@datasrc='10.155.24.101'--DB地址
exec sp_addlinkedsrvlogin
'SZDB01',--连接服务器的别名
'false',
NULL,
'szUSER',--登陆用户名
'[email protected]'--登陆密码
--执行完之后就可以写这样的查询语句了
select * from openquery([SZDB01],'select file_No,file_Name from FileDB01.dbo.getFileList()') as tableA --这里的DZDB01就是上面添加的连接服务器的别名

有多个就添加多个连接服务器;这是其中的一种;

还有一种就是使用opendatasource,这是SQL的一个函数,其能够打开指定的DB,而且这个函数的执行权限很低,技术手册中说任何人都可以执行此函数;这个函数也是hacker常用的数据爆表的一个手段;目前查看SQL Server 2008的手册中,其说明还是说所有人都有权限执行;

这个函数只能是不常用的查询中会用到;

举一个简单的例子:

select * from opendatasource('SQLOLEDB','Data Source=10.155.24.100;User ID="szUSER";Password="[email protected]"') as tableA

这个也是对上面的一种实现;

opendatasource还可以直接打开mdb这类文件。这种我就没有去试验了,技术从书中有说明;

select * from opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="d:/abcd.mdb"') 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对爱安网的支持。如果你想了解更多相关内容请查看下面相关链接

最新资讯
神州车闪贷如此处理还款逾期:不告知把车直接开走

神州车闪贷如此处理还

随着不少融资租赁公司进入车贷市场,一些“抵押贷款”摇
iPhone 11不被看好 中国销量却暴涨:只因价格便宜

iPhone 11不被看好 中

iPhone 11系列在上市后却再度受到热捧,特别是中国市场
P2P路在何方?湖南出手后 山东也将取缔不合规网贷

P2P路在何方?湖南出手

继湖南省之后,10月18日,山东省地方金融监督管理局在其官
雷军在乌镇测5G网速:下载速度达425Mbps 5G全覆盖

雷军在乌镇测5G网速:下

雷军发布微博称:“到了乌镇,听说这里5G全部覆盖,马上掏出
三星S10和Note 10现指纹识别漏洞 最早下周推送补丁

三星S10和Note 10现指

据CNBC报道,三星就Galaxy S10和Galaxy Note 10系列手机
王思聪股权遭冻结 真要回万达上班了?

王思聪股权遭冻结 真

如今投资事业不顺,难道王思聪真的要回家继承千亿资产了
最新文章
SQL Server 2008数据库分布式查询知识

SQL Server 2008数据

今天小编就为大家分享一篇关于SQL Server 2008数据库
SQL Server 2008数据库设置定期自动备份的方法

SQL Server 2008数据

这篇文章主要给大家介绍了关于SQL Server 2008数据库
sqlserver2008首次登录失败问题及解决方法

sqlserver2008首次登

这篇文章主要介绍了sqlserver2008首次登录失败问题及
解决SQL Server 2008 不能使用 “.” local本地连接数据库问题

解决SQL Server 2008

这篇文章主要介绍了解决SQL Server 2008 不能使用 “.
SQL SERVER 2008 r2 数据压缩的两种方法

SQL SERVER 2008 r2

这篇文章主要介绍了SQL SERVER 2008 r2 数据压缩的两
SQL Server 2008打开输入sa密码提示无法登陆数据库的解决方法

SQL Server 2008打开

与 SQL Server建立连接时出现与网络相关的或特定于实