SQL Server有四大组件:协议(Protocol)、关系引擎(Relational Engine)(又称查询处理器(Query Processor))、存储引擎(Storage Engine)和SQLOS。任何客户端应用程序提交给SQL Server执行的每一个批处理(Batch)都必须与这四个组件进行交互。
协议组件:
负责接收请求并把它们转换成关系引擎能够识别的形式。它还能够获取任意查询、状态信息、错误信息的最终结果,然后把这些结果转换成客户端能够理解的形式,最后再把它们返回到客户端。
关系引擎组件:
负责接受SQL批处理然后决定如何处理它们。对T-SQL查询和编程结构,关系引擎层可以解析、编译和优化请求并检查批处理的执行过程。如果批处理被执行时需要数据,它会发送一个数据请求到存储引擎。
存储引擎组件:
负责管理所有的数据访问,包括基于事务的命令(Transaction-based command)和大批量操作(Bulk Operation)。这些操作包括备份、批量插入和某些数据库一致性检查(Database Consistency Checker,DBCC)命令。
SQLOS组件:
负责处理一些通常被认为是操作系统职责的活动,例如线程管理(调度),同步单元(Synchronization Primitive),死锁检测和包括缓冲池(Buffer Pool)的内存管理。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。