在接触公司一个系统时,公司使用的是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',--登陆用户名 'Password@123'--登陆密码 --执行完之后就可以写这样的查询语句了 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="Password@123"') as tableA
这个也是对上面的一种实现;
opendatasource还可以直接打开mdb这类文件。这种我就没有去试验了,技术从书中有说明;
select * from opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="d:/abcd.mdb"')
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 张敬轩王菀之.2006-903.ID.CLUB拉阔演奏厅LIVE.2CD【环球】【WAV+CUE】
- 《欢欣森活》存档方法
- 《炉石传说》2024新赛季上线更新内容问题汇总
- 《南瓜恐慌》进不去游戏解决方法
- 杨烁《杨烁唱唐诗》2024Hi-Res[WAV分轨]
- 杨烁《杨烁唱唐诗》2024Hi-Res[WAV分轨]
- 童丽《民歌童丽(HQCD)》【WAV+CUE】
- 童丽《绝对收藏》2022头版限量编号[WAV+CUE][1G]
- 腾格尔《出走天堂》MQA-UHQCD限量版[低速原抓WAV+CUE][1G]
- 田震《时光音乐会》纯银CD[低速原抓WAV+CUE][1G]
- 炉石传说11月初最强登顶卡组合集 炉石传说11月初登顶卡组分享
- lol炼金龙魂详细属性是什么 2024炼金龙魂详细属性介绍
- 英雄联盟六个龙魂是哪六个 英雄联盟六个龙魂介绍一览
- 《忆蚀》Subliminal:揭秘后室之谜,路知行献声Weplay文化展
- 初始之部制作人气漫画改编游戏《我家大师兄脑子有坑》参展2024WePlay