快速业务通道

Microsoft SQL Server 查询处理器的内部机制与结构

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-03-18
的模型。多年以来,sql server(WINDOWS平台上强大的数据库平台) 一直用在事务处理监视系统中,例如 BEA 的 Tuxedo 以及 Compaq 的 ACMSxp,这些系统早在二、三十年前就采用了典型的三层模型。三层模型在今天基于 Web 的应用系统中占据了支配地位,这类系统以 Microsoft 的 MTS 以及新的 COM+ 1.0 为代表。从 sql server(WINDOWS平台上强大的数据库平台) 的角度看,三层解决方案中的客户机程序是放在中间层的。中间层直接与数据库交互。实际的桌面,或瘦客户机(Thin Client),使用其他机制并通常直接与中间层交互,而不是直接与数据库系统交互。图 1 描述了这种结构。

(WINDOWS平台上强大的数据库平台) 查询处理器的内部机制与结构(图一)" width="354" height="298" />
  图 1. 三层系统模型

从结构的角度看,sql server(WINDOWS平台上强大的数据库平台) 关系服务器组件本身并不真正关心客户机程序运行的位置。事实上,就 sql server(WINDOWS平台上强大的数据库平台) 而言,即使在运行 sql server(WINDOWS平台上强大的数据库平台) 的同一台机器上运行应用程序,仍然还是客户机/服务器模型。

服务器运行一个单独的多线程进程,为来自客户机的请求提供服务,不管客户机的位置在哪里。客户机程序代码本身是单独的运行在客户机应用程序内部的 DLL,与 sql server(WINDOWS平台上强大的数据库平台) 的实际接口是在客户机和服务器之间对话的“表格数据流”(Tabular Data Stream, TDS) 协议。

  一个常见的问题是“什么是 sql server(WINDOWS平台上强大的数据库平台) 的本机接口呢?”很长时间以来,很多开发人员一直都不愿意使用 ODBC 这样的接口,因为他们认为由 Sybase 开发的客户机 API,也就是 DB-Library,是 sql server(WINDOWS平台上强大的数据库平台) 的本机接口。实际上,sql server(WINDOWS平台上强大的数据库平台) 关系服务器本身并没有本机 API,它的接口就是在客户机和服务器之间的通信流协议 TDS。TDS 把客户机发送给服务器的 SQL 语句封装起来,也把服务器返回给客户机的处理结果封装起来。任何直接处理 TDS 的 API 都是 sql server(WINDOWS平台上强大的数据库平台) 的本机接口。

  让我们来看一下客户机的组件,如图 2 所示。客户机结构中的某些部分就不在这里讨论了,因为它们不属于 sql server(WINDOWS平台上强大的数据库平台) 的范畴。但如果您在编写应用程序的话,就必须了解这些部分。大家知道

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号