MSSQL --- MSSQL体系结构一览

本文介绍了MSSQL的体系结构,包括协议层、关系引擎、存储引擎和SQLOS。协议层涉及Client与Server的通信协议,如TCP/IP和Named Pipes。关系引擎由命令解析器、查询优化器和查询执行器组成,负责SQL语句的解析、优化和执行。存储引擎管理数据的访问和管理,包括锁管理、事务服务和预写日志等。同时,文章提到了并发模型和隔离级别的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

声明

笔记内容为个人学习整理,绝大部分内容来源于网络。
文章内含有自己的总结、拓展与试验,仅作为个人学习资料,转载请联系原作者。
文章末尾有含原文出处,本文尚未获得所有的原作者授权,但是我不要脸。

MSSQL体系结构

在接触一个新数据库的时候,深入了解RDBMS的系结构可以更好的理解SQL语句的执行过程,分析各种问题。

  • 协议层(Protocols)
  • 关系引擎(Relational Engine),也成为查询处理器(Query Processor)
  • 存储引擎(Storage Engine)
  • SQLOS
  • MSSQL体系结构


(图片来自 博客园-匠心十年 )


协议层

所谓的协议层就是Client与Server进行通信所使用的连接层。

Client(程序、SSMS、ODBC等)访问数据库的时候,首先会通过SNI(SQL Server Network Interface)选择建立通信的协议,然后与Server进行通信。

实际上在SQL Server当中不仅仅是Client可以连接Server实例,不同实例之间也可以通过连接服务器(Link Server)来达到互相访问的目的,实现跨实例查询。

通信连接建立成功以后,程序会把需要执行的SQL语句转换成TDS(TDS:Tabular Data Stream 即表格格式数据流协议)协议包,然后通过连接的通信协议发送到Server。

Server协议层收到请求之后会把请求转换成查询处理器可以处理的形式。

可使用协议

  • TCP/IP – 应用最广泛的协议
  • `Named Pipes – 仅为局域网(LAN)提供服务
  • Shared Memory – 仅本机
  • VIA – 已废除(MSSQL 2008版本的配置管理器中还有,但是2012当中已经看不到了)

具体连接协议可以通过SQL Server进行配置,可以根据不同的连接环境选择不同的连接协议。

如果客户端并未指定使用哪种协议进行连接,则可配置遍历尝试所有协议进行连接。

协议配置方法

打开SQL Server配置管理器(SQL Server Configuration Manager),选择SQL Server网络配置,选择需要配置的实例名(默认是MSSQLSERVER),可以看到有哪些协议可以使用,可以选择禁用或启用,也可以单击右键进行端口和IP的详细配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值