SQL服务器引擎组件概览

如图SQL服务器引擎主要有四个主要组成部分:协议,关系引擎(也称为查询处理器),存储引擎,SQLOS。

从任何客户端应用程序提交SQL服务器执行的语句,都必须和这四个要素交互。

 

 

协议层接收该请求,并将之转化成关系引擎能配合工作的内容,它也会将最终的结果如有疑问,状态讯息,或错误消息,翻译成客户端可以理解的信息 传送给客户端。 

关系引擎层接受SQL batches 并决定哪些给他们做。为查询和程序设计,进行解析,编译,优化请求和监督执行,当Batch已经执行,如果需要数据,就会向数据存储引擎发送一个请求。

  

存储引擎管理所有的数据访问,transaction-based命令和大量的操作,如备份,批量插入,某些DBCC(数据库一致性检查)的命令,都需要存储引擎的管理。

 

SQLOS层处理的活动通常认为是承担和操作系统进行交互的责任,例如:线程管理(调度),同步原语,死锁检测,内存管理,包括缓冲池。

 

行为观测引擎

SQL 允许开发者和数据库管理员了解SQL内部运行状况,这些元数据对象被称为动态管理视图(DMVs)和动态管理过程(DMFs)。你可以访问他们,他们不是真正的对象。使用和跟踪并不总是直接可用来检测资源问题或状态变化。一些DMVs和DMFs能让详细跟踪资源的历史使用状况,而且有80多个这样的对象,你可以直接查询和加入SQL选择报表。DMVs and DMFs能收集服务器状态信息,他们可能跨越多个sessions,多步transactions,多个用户的要求。这些对象可以用来诊断,内存和CPU的调整,并监控服务器上的所有会话

 

DMVsand DMFs 不是基于真实的表存储,但是都基于服务器的内部构架,其中一些我们会在本章内讨论。对象分为几个类型进行显示。所有的系统构架名字以dm_开头,后面跟着一个代码,代表服务器的对象的详细说明,主要的类型如下:

  • dm_exec_* 包含用户直接或者间接的执行代码内容和关联的相关连接,如:sys.dm_exec_sessions .返回每一行包含每一个SQL服务器认证的session

 

  • dm_os_* Contains 包含底层的系统信息,如:内容、索、调度,如:sys.dm_os_schedulers是一个DMV返回每一个计划的信息,主要用来监控调度的使用情况,确认不正常的任务信息

 

  • dm_tran_* 显示当前的交易状况.如: sys.dm_tran_locks 返回当前的活动的锁资源 .每一行表示当前的锁请求提交给锁管理组件的情况,通过或者未通过的情况      

 

  • dm_io_* 关注磁盘和网络的I/O的情况  如: sys.dm_io_virtual_file_stats     返回data和log文件的I/O统计

 

  • dm_db_* 返回数据库和数据库相关的信息,如索引,如:sys.dm_db_index_physical_stats     返回表和视图的索引碎片情况和存储情况 

          SQL 还有动态管理对象为其功能组成,其中包括全文搜索目录、服务审核、复制、通用语言运行时(CLR)提供动态管理。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值