sql server的体系结构包含四个主要部分:
协议层(protocols);
关系引擎(Relational Engine) 又称为查询处理器(Query Processor);
存储引擎(Storage Eegine);
SQLOS
1.协议层(protocols):
用于接收请求,并将请求转换为关系引擎可以处理的形式;获取所有查询结果,状态消息,错误信息,并在返回客户端之前转换为客户端可以识别的形式。
服务器和客户端使用Microsoft定义的表格格式数据流(TDS)包格式通信信息
对seq server配置可以使其接受来自不同客户端的多个协议,可以使用的协议包括
shared memory:最早使用的协议,它只能连接到同一台计算机上运行的seq server 实例,在怀疑其他协议配置不正确的时候可以使用该协议进行故障诊断。
named pipes:仅在局域网内(LAN)提供服务,一个进程的使用一部分内存向其他进程传递信息,也就是说一个进程的输出就是另外一个进程的输入。
TCP/IP:最广泛的协议。
VIA(Virtual Interface Adapter):仅与VIA硬件一起工作
2.关系引擎(Relational Engine)
关系引擎也称为查询处理器(Query Processor),它包含sql server组件用于确定查询需要完成的任务以及如何实现才是最佳的方案;关系引擎从存储引擎中请求数据和处理返回结果时,他还管理查询的执行过程。
关系引擎和存储引擎的通信一般采用OLEDB(一种应用接口)行集实现(行集是OLDB中的结束语)
用户处理发往sql server的T-sql的语言事件,它检查语法的正确性,并将T-sql命令转化为可进行操作的内部格式。该内部格式被称为查询树(Query Tree)。如果解析器无法识别语法,将立即引起语法错误并出现错误地位置!
从命令解析器中得到查询树,判断查询树是否可以被优化,并从许多可能中确定一种最优方式,对查询树进行优化。查询优化将编译整个命令批处理,优化可优化的查询并检查安全性,该查询优化和编译产生一个执行计划
优化步骤是先规范每一个查询,该过程是将单个查询分解为多个细化查询,查询优化器规范查询之后将为执行查询确定计划。
查询优化确定是基于成本的;它基于内部指标消耗最少的资源,内部指标包括Memory 需求、CPU 利用率和 I/O 操作数量。查询优化器根据请求语句类型查看相关表的数量,索引,然后引用每个索引或列的数据值采样。数据值采样名为分统计信息,根据可用的信息查询优化器分析可用的访问方法和处理策略选择成本效益最高的计划。
查询优化器还会使用修剪的方法以确保优化查询的时间不会比简单选择并执行计划花费的时间长。
完成规范化和优化以后,这些优化过程产生的规范树将编译成执行计划,执行计划实际上上是数据结构。执行计划包括精确的指定涉及哪些表,使用哪些索引,检查哪些安全性,以及哪些条件等。除了实际的命令,执行计划还包括必须执行的步骤,如果操作包含触发器还要追加触发器的调用过程等。
运行查询优化器产生的执行计划,在执行计划中充当所有命令的调度程序,并跟踪每个命令执行的过程。大多数命令需要与存储引擎进行交互,以检索或修改数据等。
存储引擎包括涉及访问和管理数据的所有组件,包括:
sql server 在查询数据时需要调用访问方法代码,访问方法代码实际上并不检索页面,它向管理缓冲器发送请求,最后缓冲管理器在其缓存中提供页面,或者将页面从磁盘中读取数据到缓存。不仅select可以使用访问方法代码,有些update;delete(含有where等条件查询)以及需要修改索引数据条目的任何数据修改操作都可以使用访问方法代码。下面列出了一些访问方法:
编辑推荐:
- sql server 体系结构03-02
- 深入理解 SQL Server 2008 的锁机制03-02
- ISA、VESA、PCI、AGP、PCI-E显卡都什么样子的?03-02
- 记一次sql server 数据库sa用户无法登录的故障处理03-02
- 电脑新的驱动程序不一定适合你的应用程序03-02
- 自己安装域服务的时候遇到的很乌龙的问题。。。。。。。。03-02
- sqlserver查询当前运行的sql03-02
- alwayson端点设置避免入坑03-02
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- sql server 体系结构
sql server 体系结构
26-03-02 - 深入理解 SQL Server 2008 的锁机制
深入理解 SQL Server 2008 的锁机制
26-03-02 - ISA、VESA、PCI、AGP、PCI-E显卡都什么样子的?
ISA、VESA、PCI、AGP、PCI-E显卡都什么样子的?
26-03-02 - 记一次sql server 数据库sa用户无法登录的故障处理
记一次sql server 数据库sa用户无法登录的故障处理
26-03-02 - 电脑新的驱动程序不一定适合你的应用程序
电脑新的驱动程序不一定适合你的应用程序
26-03-02 - sqlserver2008 收缩事务日志文件
sqlserver2008 收缩事务日志文件
26-03-02 - 日志收缩
日志收缩
26-03-02 - 使用SQLServer2008的CDC功能实现数据变更捕获
使用SQLServer2008的CDC功能实现数据变更捕获
26-03-02 - SQLServer Audit开启审核记录某表的DML操作
SQLServer Audit开启审核记录某表的DML操作
26-03-02 - 创建日志记录触发器记录某表的DML操作
创建日志记录触发器记录某表的DML操作
26-03-02
