SQL Server 2008数据库分布式查询知识

来源:脚本之家  责任编辑:小易  

是的,MS SQL Server 是中大型分布式关系型数据库。 Oracle ,DB2是

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

以下列表列出了 Transact-SQL 语言的一些子集,可对通过基于链接服务器的名称或临时名称访问

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

OLE DB访问接口用于分布式方法:1、在C:\Windows\System32\drivers\

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

MSDTC(Microsoft Distributed Transaction Coordinato

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

前面的两篇文章中,我们分别介绍了扩大与缩小SQL数据库环境之间的区别以及通过水平数据分区或垂直数据分

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

本人于2016年去南京旅游,对南京食物的印象深刻,特别是南京大排档的菜品,可以说的是腻到骨子里面去了,但是一群南京人却吃的十分开心,有一个朋友在北京读书,他也特别喜欢到北京的南京大排档用餐。但是并不因为一次甜到骨子的体验就对南京的美食印象不好,像鸭血粉丝汤,就是我特别喜欢的,好像是要配上米饼一起吃吧,就是一种用大米压制的锅巴。早餐在南京芳婆糕团店用餐,他的乌米饭、糖芋苗也正和我的心意。下面是我在南京的美食体验:南京芳婆糕团店一下火车,直奔芳婆糕团店而去,坐了一夜的火车,虽然睡了些,但终究睡的浅,头昏昏沉沉的,眼皮也耷拉着,像是十月间的太阳,始终不肯出来全。风略带些寒意,掀起我的衣角,拉着我一路

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

我在非洲走访,感受到中国手机在非洲销售的情况。个人觉得说国产手机好用,是因为中国手机切合了当地人的需求吧。肯尼亚手机市场主要的品牌有华为、OPPO、三星……但这些经常在中国电视上看到广告的牌子,在非洲却没那么流行,它们被摆在店里稍稍靠里的位置,将刚进门的柜台都让给了一个叫tecno(传音)的中国品牌。刚到肯尼亚时,看着肯尼亚市区成批的tecno(传音)广告牌,完全不知道这是什么牌子,而华为的广告牌相对较少,宣传的也并不是最新款,而是P9这款手机。△街上随处可见的tecno广告牌这个在中国知名度不高的品牌几乎占据了肯尼亚全部手机商店中最显眼的那块标牌,印有tecno标志的气球围着商店门绕了一圈,

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

王杰到底有没有被人下毒这件事在我个人看来应该不是无中生有。要了解这件事情首先要知道当年的港台娱乐圈有多黑暗,这里的黑幕多了去了,以前由于信息闭塞,人们无从知晓,后来由于网络的发达,人们才知道港台娱乐圈的黑幕,刘德华被枪指着头威胁接戏,李连杰经纪人事件,这些事情数不胜数。王杰当时红极一时,而且公认的情商比较低(但为人正直善良),说话也比较直爽,不会拐弯,而且与当时的东家“英皇”有很大的矛盾,再加上为人耿直,一路而来,也得罪了不少人,要知道,当年的唱片业有多赚钱,这里滋生出来的利益,无论是台面的明星艺人,还是台下的经济公司、明星助理都在红着眼睛争夺。因为这件事从好多明星艺人的反映来看,都是讳莫如深

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

脂肪粒:眼部长脂肪粒怎么办?脂肪粒怎么去除?最近Honey仔有朋友有关长了脂肪粒怎么消除的问题,正好Honey仔最近也长了脂肪粒,就和大家一起来聊聊脂肪粒吧~首先大家要明白什么是脂肪粒,脂肪路的外观就是入上图所示的样子,一般都是长在眼周的白色颗粒~解决问题分三步:1.事情形成的原因2.寻找解决问题的措施3.解决问题脂肪粒形成原因1.过度清洁引起皮肤创伤有些妹子觉得自己的黑头比较重,或者希望更好地吸收面膜,所以频繁使用磨砂膏或者去角质产品。加上手法比较重,很容易在皮肤上产生微小的伤口。这些小伤口也像普通伤口一样结痂留疤,久而久之就生成了白色小囊肿。2.卸妆不彻底我们脸上有很多毛孔会排除皮肤分泌物

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"')

总结

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

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

如何通过 SQL Server 链接服务器和分布式查询使用 Excel

SQL Server 支持到其他 OLE DB 数据源的永久性连接或临时连接。永久性连接叫做链接服务器;为单个查询建立的临时连接叫做分布式查询。

Microsoft Excel 工作簿是一种可通过 SQL Server 以这种方式查询的 OLE DB 数据源。本文介绍了将 Excel 数据源配置为链接服务器所需的语法,以及使用分布式查询来查询 Excel 数据源所需的语法。

作为链接服务器查询 Excel

您可以使用企业管理器、系统存储过程或 SQL-DMO(分布式管理对象)将 Excel 数据源配置为 SQL Server 链接服务器。在所有的这些情况中,您总需要设置以下四个属性:

• 链接服务器要使用的名称。

• 连接要使用的 OLE DB 提供程序。

• Excel 工作簿的数据源或完整路径和文件名。

• 将目标标识为 Excel 工作簿的提供程序字符串。默认情况下,Jet 提供程序需要 Access 数据库。

系统存储过程 sp_addlinkedserver 也需要 @srvproduct 属性,该属性可以是任何字符串值。

使用企业管理器配置 Excel 链接服务器

1. 在企业管理器中,单击以展开安全文件夹。

2. 右键单击链接服务器,然后单击新建链接服务器。

3. 在常规选项卡上,按照下列步骤操作:a.在第一个文本框中,为该链接服务器键入任意名称。b.在服务器类型文本框中,单击其他数据源。c.在提供程序名称下拉列表框中,单击 Microsoft Jet 4.0 OLE DB 提供程序。d.在数据源文本框中,键入 Excel 文件的完整路径和文件名。e.在提供程序字符串文本框中,键入 Excel 8.0 代表 Excel 97、2000 或 2002 工作簿。f.单击确定以创建新的链接服务器。

4. 单击以展开此新链接服务器的名称,从而展开它所包含的对象列表。

5. 在新建链接服务器名称下,单击表。注意,工作表和命名区域将出现在右窗格中。

使用存储过程配置 Excel 链接服务器

您还可以使用系统存储过程 sp_addlinkedserver 将 Excel 数据源配置为链接服务器: DECLARE @RC int

DECLARE @server nvarchar(128)

DECLARE @srvproduct nvarchar(128)

DECLARE @provider nvarchar(128)

DECLARE @datasrc nvarchar(4000)

DECLARE @location nvarchar(4000)

DECLARE @provstr nvarchar(4000)

DECLARE @catalog nvarchar(128)

-- Set parameter values

SET @server = 'XLTEST_SP'

SET @srvproduct = 'Excel'

SET @provider = 'Microsoft.Jet.OLEDB.4.0'

SET @datasrc = 'c:/book1.xls'

SET @provstr = 'Excel 8.0'

EXEC @RC = [master].[dbo].[sp_addlinkedserver] @server, @srvproduct, @provider,

@datasrc, @location, @provstr, @catalog

如上所述,此存储过程另需一个任意字符串值作为 @srvproduct 参数的值,此参数在企业管理器配置中显示为“产品名称”。不使用 @location 和 @catalog 参数。

使用 SQL-DMO 配置 Excel 链接服务器

您可以使用 SQL 分布式管理对象从 Microsoft Visual Basic 或其他编程语言中将一个 Excel 数据源以编程方式配置为链接服务器。您必须也提供企业管理器配置中要求的那四个参数。 Private Sub Command1_Click()

Dim s As SQLDMO.SQLServer

Dim ls As SQLDMO.LinkedServer

Set s = New SQLDMO.SQLServer

s.Connect "(local)", "sa", "password"

Set ls = New SQLDMO.LinkedServer

With ls

.Name = "XLTEST_DMO"

.ProviderName = "Microsoft.Jet.OLEDB.4.0"

.DataSource = "c:/book1.xls"

.ProviderString = "Excel 8.0"

End With

s.LinkedServers.Add ls

s.Close

End Sub

查询 Excel 链接服务器

将 Excel 数据源配置为链接服务器之后,您可以方便地通过“查询分析器”或其他客户端应用程序查询其数据。例如,为了检索存储在 Excel 文件 Sheet1 中的数据行,以下代码使用了您使用 SQL-DMO 配置的链接服务器: SELECT * FROM XLTEST_DMO...Sheet1$

您还可以使用 OPENQUERY 以“passthrough”(传递)方式查询 Excel 链接服务器,如下所示: SELECT * FROM OPENQUERY(XLTEST_DMO, 'SELECT * FROM [Sheet1$]')

OPENQUERY 需要的第一个参数是链接服务器名称。工作表名称之间需要用分隔符分开,如上所示。

您还可以使用以下查询获得 Excel 链接服务器上所有可用表的列表: EXECUTE SP_TABLES_EX 'XLTEST_DMO'

您可以使用 SQL Server 分布式查询和 OPENDATASOURCE 或 OPENROWSET 函数临时查询很少访问的 Excel 数据源,如下所示: SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',

'Data Source=c:/book1.xls;Extended Properties=Excel 8.0')...Sheet1$

注意,OPENROWSET 对第二个(“提供程序字符串”)参数使用一种非常规语法: SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',

'Excel 8.0;Database=c:/book1.xls', Sheet1$)

ActiveX 数据对象 (ADO) 开发人员按照常规应对 OPENROWSET 的第二个(“提供程序字符串”)参数使用的语法会 SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',

'Data Source=c:/book1.xls;Extended Properties=Excel 8.0', Sheet1$)

造成 Jet 提供程序出现以下错误:

Could not find installable ISAM.

如何用SQL Server建立分布式数据库

很多组织机构慢慢的在不同的服务器和地点部署SQL Server数据库——为各种应用和目的——开始考虑通过SQL Server集群的方式来合并。

将SQL Server实例和数据库合并到一个中心的地点可以减低成本,尤其是维护和软硬件许可证。此外,在合并之后,可以减低所需机器的数量,这些机器就可以用于备用。

当寻找一个备用,比如高可用性的环境,企业常常决定部署Microsoft的集群架构。我常常被问到小的集群(由较少的节点组成)SQL Server实例和作为中心解决方案的大的集群哪一种更好。在我们比较了这两个集群架构之后,我让你们自己做决定。

什么是Microsoft集群服务器

MSCS是一个Windows Server企业版中的内建功能。这个软件支持两个或者更多服务器节点连接起来形成一个“集群”,来获得更高的可用性和对数据和应用更简便的管理。MSCS可以自动的检查到服务器或者应用的失效,并从中恢复。你也可以使用它来(手动)移动服务器之间的负载来平衡利用率以及无需停机时间来调度计划中的维护任务。

这种集群设计使用软件“心跳”来检测应用或者服务器的失效。在服务器失效的事件中,它会自动将资源(比如磁盘和IP地址)的所有权从失效的服务器转移到活动的服务器。注意还有方法可以保持心跳连接的更高的可用性,比如站点全面失效的情况下。

MSCS不要求在客户计算机上安装任何特殊软件,因此用户在灾难恢复的经历依赖于客户-服务器应用中客户一方的本质。客户的重新连接常常是透明的,因为MSCS在相同的IP地址上重启应用、文件共享等等。进一步,为了灾难恢复,集群的节点可以处于分离的、遥远的地点。

在集群服务器上的SQL Server

SQL Server 2000可以配置为最多4个节点的集群,而SQL Server 2005可以配置为最多8个节点的集群。当一个SQL Server实例被配置为集群之后,它的磁盘资源、IP地址和服务就形成了集群组来实现灾难恢复。

SQL Server 2000允许在一个集群上安装16个实例。根据在线帮助,“SQL Server 2005在一个服务器或者处理器上可以支持最多50个SQL Server实例,”但是,“只能使用25个硬盘驱动器符,因此如果你需要更多的实例,那么需要预先规划。”

注意SQL Server实例的灾难恢复阶段是指SQL Server服务开始所需要的时间,这可能从几秒钟到几分钟。如果你需要更高的可用性,考虑使用其他的方法,比如log shipping和数据库镜像。

单个的大的SQL Server集群还是小的集群

下面是大的、由更多的节点组成的集群的优点:

◆更高的可用新(更多的节点来灾难恢复)。

◆更多的负载均衡选择(更多的节点)。

◆更低廉的维护成本。

◆增长的敏捷性。多达4个或者8个节点,依赖于SQL版本。

◆增强的管理性和简化环境(需要管理的少了)。

◆更少的停机时间(灾难恢复更多的选择)。

◆灾难恢复性能不受集群中的节点数目影响。

下面是单个大的集群的缺点:

◆集群节点数目有限(如果需要第9个节点怎么办)。

◆在集群中SQL实例数目有限。

◆没有对失效的防护——如果磁盘阵列失效了,就不会发生灾难恢复。

◆使用灾难恢复集群,无法在数据库级别或者数据库对象级别,比如表,创建灾难恢复集群。

虚拟化和集群

虚拟机也可以参与到集群中,虚拟和物理机器可以集群在一起,不会发生问题。SQL Server实例可以在虚拟机上,但是性能可能会受用影响,这依赖于实例所消耗的资源。在虚拟机上安装SQL Server实例之前,你需要进行压力测试来验证它是否可以承受必要的负载。

在这种灵活的架构中,如果虚拟机和物理机器集群在一起,你可以在虚拟机和物理机器之间对SQL Server进行负载均衡。比如,使用虚拟机上的SQL Server实例开发应用。然后在你需要对开发实例进行压力测试的时候,将它灾难恢复到集群中更强的物理机器上。

集群服务器可以用于SQL Server的高可用性、灾难恢复、可扩展性和负载均衡。单个更大的、由更多的节点组成的集群往往比小的、只有少数节点的集群更好。大个集群允许更灵活环境,为了负载均衡和维护,实例可以从一个节点移动到另外的节点。本回答被提问者和网友采纳

如何通过 SQL Server 链接服务器和分布式查询使用 Excel

官网有教程,自己参考下:

SQL Server 支持到其他 OLE DB 数据源的永久性连接或临时连接。永久性连接叫做链接服务器;为单个查询建立的临时连接叫做分布式查询。

Microsoft Excel 工作簿是一种可通过 SQL Server 以这种方式查询的 OLE DB 数据源。本文介绍了将 Excel 数据源配置为链接服务器所需的语法,以及使用分布式查询来查询 Excel 数据源所需的语法。

https://support.microsoft.com/zh-cn/kb/306397

如何用SQL Server建立分布式数据库

首先我们打开SQL SERVER自带的数据库管理工具,从开始菜单中可以找到,点击进去;

开始连接SQL SERVER服务器,就是我们装好的SQL SERVER 服务器;

右击数据库,选择第一个,新建一个数据库;

填写数据库的名称(箭头方向),下面是设置自动增长的,一般不用管,默认

点击确定后就可以生成一个数据库,此时里面是没有表的;

右击表新建一个表,填写你要的字段名称

填完字段名称后点击字段名称那个内部窗口的小叉叉,然后就提示你输入表名了,填写下表名,一个数据库的建立过程就是这样的;

SQL SERVER 2008 如何实现分布式数据库

你在哪里看到有如何实现分布式数据库的?mssql2008的?

  • 本文相关:
  • sql server游标的介绍与使用
  • sql server三种锁定模式的知识讲解
  • sql server视图的讲解
  • sql server的一些知识点定义总结
  • c#连接sql server的实现方法
  • laravel5使用freetds连接sql server的方法
  • 详解易语言操作sql server实例
  • sql server中的select会阻塞select吗
  • sqlserver2008首次登录失败问题及解决方法
  • sql server四个系统表的知识讲解
  • sql server 2008 r2安装配置方法图文教程
  • 清理sql server 2008日志文件cannot shrink log file 2 的解决方
  • sql server 2008 r2 express 精简版与企业版的区别
  • sqlserver 2008中sql增强之一:values新用途
  • sql server 2008 无法附加数据库的解决方法
  • sqlserver2008锁表语句详解(锁定数据库一个表)
  • sql2008 还原数据库解决方案
  • sqlserver2008新实例远程数据库链接问题(sp_addlinkedserver)
  • 详解sql server 2008工具sql server profiler
  • sql server 2008 数据库镜像部署实例之一 数据库准备
  • 如何通过 SQL Server 链接服务器和分布式查询使用 Excel
  • 如何用SQL Server建立分布式数据库
  • 如何通过 SQL Server 链接服务器和分布式查询使用 Excel
  • 如何用SQL Server建立分布式数据库
  • SQL SERVER 2008 如何实现分布式数据库
  • sqlserver是分布式数据库吗
  • 如何在分布式查询中查询远程数据库上的xml列
  • OLE DB访问接口“MICROSOFT.JET.OLEDB.4.0”配置为在单线程单位模式下运行,...
  • 什么叫分布式事务,在SQL Server中如何配置
  • 如何利用SQL Server 2005分布式分区视图分解数据表
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved