分布式查询处理方法lom599乐百家手机:

 百家乐-数据     |      2020-03-24 07:05

SQL Server 区别意行使 OPENROWSET 和 OPENDATASOURCE 实行即席布满式查询。此选项设置

为 1 时,SQL Server 允许举办即席访谈。假若此选项未设置或安装为 0,则 SQL Server

不容许举行即席访谈。

即席布满式查询利用 OPENROWSET 和 OPENDATASOURCE 函数连接纳使用 OLE DB 的中远间距数据

源。OPENROWSET 和 OPENDATASOURCE 只应在引用不时访谈的 OLE DB 数据源时使用。对于将

要时时访问的数据源,应定义链接服务器。

安全申明: 允许利用有时名称意味着到 SQL Server 的别的经过身份验证的登陆名均可访谈该访问接口

。SQL Server 管理员应对其余地点登入名都能平安访谈的会见接口启用此意义。有关详细信

息,请参阅访问外界数据中的 DisallowAdhocAccess 选项。

言传身教上面的言传身教启用即席布满式查询,然后选取 OPENROWSET 函数查询名为Seattle1 的服务器

复制代码 sp_configure 'show advanced options', 1;RECONFIGURE;sp_configure 'Ad Hoc Distributed Queries', 1;RECONFIGURE;GO

SELECT a.*FROM OPENROWSET('SQLNCLI', 'Server=Seattle1;Trusted_百家了乐八大技巧 ,Connection=yes;','SELECT GroupName, Name, DepartmentIDFROM AdventureWorks2008R2.HumanResources.DepartmentORDER BY GroupName, Name') AS a;GO

在 Microsoft SQL Server 二〇〇三 中,遍及式查询允许 SQL Server 客商访问基于 SQL

Server 的服务器以外的数量。OLE DB 提供了统一的艺术来拜会异类数据源中的列表数据。 在本文中,布满式查询是指任何援用了二个或三个外表 OLE DB 数据源中表或行集的

SELECT、INSERT、UPDATE 或 DELETE 语句。 远程表是指积攒于 OLE DB 数据源中况兼不在实践查询的 SQL Server 所在服务器上的

表。三个分布式查询能够访谈四个或多少个远程表。 OLE DB 提供程序连串 依照OLE DB 提供程序在 SQL Server 的布满式查询中的功用,我们将它们划分为如下

lom599乐百家手机 ,品种。根据定义,它们并不是互相排斥;某种提供程序只怕归属二个或多少个种类: SQL 命令提供程序 索引提供程序 轻松表提供程序 非 SQL 命令提供程序 SQL 命令提供程序 凡是以 SQL 标准语法帮忙 Command 对象的提供程序,都归属此类

别。下边是 OLE DB 提供程序被 SQL Server 视为 SQL 命令提供程序的须要条件: 提供程序必须援救 Command 对象及其全数强逼 OLE DB 接口:ICommand、ICommandText

、IColumnsInfo、ICommandProperties 和 IAccessor。 提供程序扶助的 SQL 语法必需至少是 SQL 子集。提供程序必得透过

DBPROP_SQLSUPPORT 属性来告诉语法。 SQL 命令提供程序的亲自过问为:Microsoft OLE DB Provider for SQL Server 和

Microsoft OLE DB Provider for ODBC。 索引提供程序 索引提供程序协助并提供与 OLE DB 对应的目录,同期还允许基于索引对基本表实行查

找。上面是 OLE DB 提供程序被 SQL Server 视为索引提供程序的须求条件: 提供程序必得以 TABLES、COLUMNS 和 INDEXES 构造行集援助 IDBSchemaRowset 接口。 提供程序必得支持通过 IOpenRowset 展开索引中的行集。 Index 对象必需扶持其所有的强迫接口:IRowset、IRowsetIndex、IAccessor、

IColumnsInfo、IRowsetInfo 和 IConvertTypes。 对带索引基本表张开的行集必须协助 IRowsetLocate 接口,

以便依据书签在行上定位。 假诺叁个 OLE DB 提供程序满足以上原则,顾客能够设置提供程序选项 Index As

Access Path,以允许 SQL Server 使用提供程序的目录来进行查询。暗中同意情形下,除非该选

项已被设置,否则 SQL Server 不会尝试利用提供程序的目录。 注意: SQL Server 协助八个影响 SQL Server 访问 OLE DB 提供程序的法子的选料

。能够选取 SQL Server 公司微处理机中的链接服务器品质对话框来安装这么些选取。 轻便表提供程序 轻松表提供程序通过 IOpenRowset 接口来表现依照基本表展开发银行集的方法。这么些提供程

序既不是 SQL 命令提供程序亦非索引提供程序;而是 SQL Server 布满式查询所能管理的

提供程序中最简易的一类。 对于此类提供程序,SQL Server 仅能在布满式查询运转进程实行表扫描操作。 非 SQL 命令提供程序 该类提供程序扶助 Command 对象及其全数压迫接口,但不帮衬 SQL Server 承认的 SQL

职业语法。 非 SQL 命令提供程序的三个示范是:Microsoft OLE DB Provider for Indexing

Service 和 Microsoft Windows NT? Active Directory? Service Interfaces (ADSI) OLE

DB Provider。 Transact-SQL 子集 要是提供程序协理所需的 OLE DB 接口,下列 Transact-SQL 语句连串都足以用来分布

式查询。 除了将远程表作为指标表的 SELECT INTO 语句外,其余兼具的 SELECT 语句都可以选用

。 假若提供程序接济插入操作所需的接口,INSERT 语句能够用于远程表。有关 INSERT 语

句的 OLE DB 供给的详细音信,请查阅本文后边的 INSERT 语句。 假若提供程序满足 OLE DB 接口在特定表上的供给,UPDATE 和 DELETE 语句也能够用来

远程表。有关改正或删除远程表时 OLE DB 接口必须满意的供给和原则,请参阅本文前面包车型客车

UPDATE 和 DELETE 语句。 游标扶助 尽管提供程序协助所需的 OLE DB 效用,则分布式查询扶持快速照相和键集二种游标。布满

式查询不扶植动态游标。客户央浼的布满式查询的动态游标将机关降级为键集游标。 快速照相游标在游标张开时被写入,何况结果集保持不改变;对基本表的立异、插入和删除操

作不博览会示到游标中。 键集游标在游标张开时被写入,何况结果集在游标的全体生存期中保障不改变。可是,如

果更新或删除基本表中的行,当访谈那一个行时,能够在游标中看看变化。假使对基本表的插

入操作可能影响游标成员,则这种改换则是不可以知道的。 固然提供程序满足更新和删除远程表的准则,则能够透过采取布满式查询中定义的游标

甚至对远程表的援引来更新和删除远程表,举个例子:table UPDATE | DELETE 远程表 WHERE

CUEvoqueRENT OF 游标名称。有关详细消息,请参阅本文前边的 UPDATE 和 DELETE 语句。 扶持键集游标的须求 假设满意全数 Transact-SQL 语法的尺码,何况满意以下三种状态之一,那么在布满式

查询中就帮忙键集游标: 在询问中,OLE DB 提供程序扶助全部远程表上的可重用书签。可接纳书签能够从给定表

的有些行集中隐去,然后用于同一表中的其余行集上。对可选取书签的补助是通过

IDBSchemaRowset 的 TABLES_INFO 结构行集来钦命的,方法是将 BOOKMA科雷傲K_DURABILITY 列

设置为 BMK_DURABILITY_INTRANSACTION 或某种更加高的长久性。 全数的远程表都经过 IDBSchemaRowset 接口的 INDEXES 行集来列出独一键。应该存在

叁个索引项,在那之中的 UNIQUE 列设置为 VA凯雷德IANT_TRUE。 满含 OpenQuery 函数的布满式查询不协助键集游标。 扶植可更新键集游标的渴求 通过在遍布式查询上定义的键集游标,能够立异或删除远程表,比方:UPDATE | DELETE

远程表 WHERE CU奥迪Q7RENT OF 游标名称。上面是在分布式查询中允许接收可更新游标的条

件: 如若提供程序也满意对远程表实行更新和删除操作的规格,就允许使用可更新游标。有

关详细音信,请参阅本文前边的 UPDATE 和 DELETE 语句。 全数的可更新键集游标操作必得放在使用可复读或更加高的隔开品级的客商定义事务中。

其它,提供程序必需以 ITransactionJoin 接口扶助分布式事务管理。 OLE DB 提供程序人机联作阶段 全体布满式查询的实施方案都有三种操作: 创设连接和查找属性操作,钦命 SQL Server 连接 OLE DB 提供程序的点子以至将利用

提供程序的怎样属性。 表名剖析和搜索元数据操作,钦点 SQL Server 将远程表名称剖判为提供程序中相应数据对象的方法。那也包含

SQL Server 为编写翻译和优化布满式查询从提供程序检索的表元数据。 事务管理操作,钦点全部与 OLE DB 提供程序的业务相关的交互作用。 数据类型管理操作,该操作钦点在举行分布式查询进程中,当 SQL Server 从 OLE DB

提供程序取得数量或向其导出多少时 SQL Server 管理 OLE DB 数据类型的秘诀。 错误管理操作,钦点 SQL Server 使用从提供程序取得的恢弘错误消息的章程。 安全性操作,钦命 SQL Server 安全性和提供程序安全性的人机联作方式。 营造连接和查找属性 SQL Server 使用 OPENROWSET 作用协理二种远程数据对象命名左券:基于链接服务器的

四段式名称和新鲜名称。 基于链接服务器的名目 链接服务器是对 OLE DB 数据源的悬空。基于链接服务器的名号分为四段:链接服务器

.目录.布局.对象,在那之中 链接服务器 是链接服务器的名称。SQL Server 将 链接

服务器 视为 OLE DB 提供程序和连接属性的根源。别的三

个名称段被 OLE DB 数据源解释为对特定远程表的标志。 特殊名称 特殊名称是依据 OPENROWSET 或 OPENDATASOURCE 函数的称呼。它蕴含在布满式查询中

老是援引远程表时的具有连接音信。 暗中认可意况下,只允许系统一管理理员使用特外称得上。要选用基于 OLE DB 提供程序的别具肺肠名

称,应将提供程序的 DisallowAdhocAccess 选项设置为 0。 假设运用链接服务器名称,SQL Server 就要链接服务器定义中为 OLE DB 提供程序领取

提供程序的称号和初叶化属性。假设接纳异乎经常名称,SQL Server 将从 OPENROWSET 函数的参

数中领取相近的新闻。