SQL2005数据库引擎结构(一)

SQL2005数据库引擎结构(一)

 

 

 

 

 

------------------------------------------------------------------------

-- Author : HappyFlyStone

-- Date   : 2009-09-20 17:36:30

-- Version: Microsoft SQL Server 2005 - 9.00.2047.00 (Intel X86)

--      Apr 14 2006 01:12:25

--      Copyright (c) 1988-2005 Microsoft Corporation

--      Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

--      转载请注明出处,更多请关注:http://blog.csdn.net/happyflystone

------------------------------------------------------------------------

    今天重点从上层来看了一下SQL2005的数据库引擎组件,并大体上说说如何协同工作,理解这些是有助更好的学习数据库。联机帮助一下,发现一个很重点的组件:SQLOS-SQL Operating System.先用图来说明一下总体组成:

 

一、协议层

首先我们必须知道SQLSERVER逻辑都是客户/服务器,不管是你在一台单机上,还是前端应用分散在多台不同操作系统的机器上,甚至COM+结构都是。接着我们简单的来理解访问架构,理解SQLSERVER的我们不如先来说说HTTP,不管我们是什么平台下的浏览器,或是MSXML对象,或是.NET的类我们都可以轻松访问IIS,简单的说也就是我们只要遵守标准的HTTP协议就可以访问IIS。那我们的SQLSERVER也是这样做的,只不过不HTTP协议而是表格格式数据流DTS(tabular data stream),对IIS和SQLSERVER来说HTTP与DTS两者的差别仅是前者是公开协议而后者是MS非公开的内部协议(每一次数据库升级DTS也会作相应的升级,同时确保向下的兼容性),所以不管是ODBC还是OLEDB、SQL Client、JDBC只是把数据请求转换成DTS然后打包封装成标准的通信协议(如TCP/IP)信息包最后送到服务器端。服务器端把通讯信息包解开送给ODS(Open Data Services),然后还原成标准的SQL语句并转交给关系引擎。

SQLSERVER2005支持的通讯协议有四种:

1、        共享内存

这是最简单的数据库在本地的一种协议。同时不需要配置就可以使用。如果是

MDAC2.8以前的版本是不支持这个协议的,会自动切换到命名管道。

2、        命名管道

局域网内使用的一种协议,互为对方进程提供数据,这些进程可以在本地,

也可以远程。

3、        TCP/IP

使用是广泛的协议,可以在不同硬件和操作系统间互相通讯。

4、        虚拟接口VIA

与专用VIA硬件有关。

 

    最后说一下TDS端点,2005已经使用TDS端点代表服务器连接,初始化安装时,一共初始化5个端点,四个各一个,另一个给DAC使用。对于激动的DTS端点才可以使用,处于非激活态的端点仍然存在,只是不能使用而已。

 

好,今天先说到这儿,下面我会重点说说关系引擎与存储引擎。

请大家继续关注我的blog: http://blog.csdn.net/happyflystone

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章