返回顶部
首页 > 资讯 > 数据库 >如何理解MSSQL数据库后台进程
  • 348
分享到

如何理解MSSQL数据库后台进程

2024-04-02 19:04:59 348人浏览 八月长安
摘要

本篇文章为大家展示了如何理解MSsql数据库后台进程,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 与oracle数据库类似,微软数据库产品MSSQL也有诸多后台

本篇文章为大家展示了如何理解MSsql数据库后台进程,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

oracle数据库类似,微软数据库产品MSSQL也有诸多后台进程来保证数据库系统的高效正常运转,由于MSSQL采用的是线程模型,应该叫做后台线程,为了大家易于理解,我们在暂且称之为后台进程,下面我们就来简要看一下:

与Oracle数据库类似,微软数据库产品MSSQL也有诸多后台进程来保证数据库系统的高效正常运转,由于MSSQL采用的是线程模型,应该叫做后台线程,为了大家易于理解,我们在暂且称之为后台进程,下面我们就来简要看一下:

1、 数据写相关进程

1)   Lazy writer:该进程用来确保系统缓冲区(buffer pool)中有足够的自由内存,该进程定期扫描缓冲内存页,以发现不常使用的内存页并将其移出缓冲区,期间,会先将脏页数据写出到磁盘并移除缓冲区。

2)   Eager writer:和lazy writer类似,该进程也是负责将缓冲区内的脏页写出到磁盘,但它写出的这些内存页主要是和非日志(non-logged,例如:bulk insert,select into)操作相关,期间,允许读写新页并行发生。

3)   Checkpoint:该进程定期扫描缓冲区以发现特定数据库的脏页,并将这些脏页写出到磁盘,通过创建一个在此之前确认所有脏页都写出到磁盘的时间点,可以减少最近数据库恢复需要的时间。用户可以通过提交checkpoint命令来请求一个检查点操作,或者系统也可以根据消耗的日志空间或时间自动产生一个检查点操作,此外,当系统中的某些事件也会导致检查点的发生,例如:增减或移除数据文件或日志文件,实例的关闭等。当检查点发生时,该进程将缓冲区内的脏页写出到磁盘,无论相关事务是否已经提交,都要写出到磁盘。

值得一提的是,这三个后台进程都是异步的,即它们在进行io操作的同时可以去做其他工作,稍后再来检查之前IO的完成情况。

2、 事务日志相关进程

1)   Log writer:该进程负责将事务日志从缓冲区刷出到磁盘日志文件。MSSQL2016前的版本,每个实例只有一个log writer进程,因此,该进程负责实例中的所有数据库log buffer。该进程通过异步IO完成log buffer到磁盘的写出,当用户提交一个事务时,该进程阻塞该用户会话,直到将相关数据库log buffer数据刷出到磁盘完成,同时,该进程还可以继续其他数据库log buffer的工作。MSSQL系统中的诸多事件都会触发log writer进程向磁盘写出log buffer中的内容,例如:会话提交当前事务,log buffer被写满,checkpoint等。

此外,该进程将lredo记录从log cache/buffer写出到磁盘log files时,写出单位是可以变化的,从512~64k不等,这点来说,不像data buffer写出进程一样,最小必须是数据页大小。

2)   Backup log:该进程虽然严格来说算不上一个后台进程,因为它用于完成用户发出的“backup log…”命令,但它却是和事务日志紧密相关。

3、 系统监视和管理相关进程

1)   Signal handler:该进程主要负责MSSQL实例的启动和关闭。

2)   Task manager:该进程也会参与MSSQL实例的启动过程,主要用来启动实例相关的所有数据库。此外,该进程还负责启动MSSQL内部某些任务,以及监视实例服务进程和启动时间等任务。

3)   Resource monitor:该进程主要负责监视内存层面的使用和状态,并在必要时对MSSQL相关缓冲进行调整,当检测到没有用户需求被处理时,将自动进入空闲状态。

4)   Lock monitor:该进程负责监视阻塞时间超过系统相关阈值的场景,同时,还负责解决死问题。

5)   Ghost cleanup:该进程会周期性的唤醒,并对所有索引中已被标记为删除的索引项进行检查,然后,将这些索引项物理移除。

6)   Trace queue task:该进程负责监视跟踪文件和行集供应者。对跟踪文件,该进程每4秒就会将数据刷出到磁盘文件;对行集,将会关闭超过10分钟没收到任何事件的供应者。

4、 作业调度相关进程

SQLServer Agent:严格来说,这并不算是一个后台进程,而是windows服务,该服务负责完成各种作业的调度和执行。

5、 其他相关进程

1)   XE Timer和XE Dispatcher:这些是扩展事件(Extended Event)相关的进程,负责定期将收集到的数据从缓冲异步发送到目的地。

2)   BRKR EVENT HNDLR和BRKR TASK:这些事件是服务代理人(Service Broker)相关进程。前者主要负责处理服务代理的所有启动和关闭事件;后者为执行内部服务代理任务的众多进程之一。

我们可以通过如下SQL来查询MSSQL实例后台进程相关的信息:

select t.os_thread_id,r.session_id,r.status,r.command
from sys.dm_os_threads t inner join sys.dm_os_workers w on t.thread_address=w.thread_address
inner join sys.dm_exec_requests r on w.task_address=r.task_address
where r.status like '%background%';

上述内容就是如何理解MSSQL数据库后台进程,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: 如何理解MSSQL数据库后台进程

本文链接: https://lsjlt.com/news/67790.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何理解MSSQL数据库后台进程
    本篇文章为大家展示了如何理解MSSQL数据库后台进程,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 与Oracle数据库类似,微软数据库产品MSSQL也有诸多后台...
    99+
    2024-04-02
  • 阿里云数据库后台管理详解
    阿里云数据库是阿里云提供的云数据库服务,可以提供丰富的数据库功能和管理工具,方便用户进行数据库的创建、管理和维护。本文将详细介绍阿里云数据库后台的管理流程和相关功能。 一、阿里云数据库后台管理流程创建数据库:用户可以通过阿里云控制台或API...
    99+
    2023-11-11
    阿里 后台管理 详解
  • Linux如何使用Supervisor管理后台进程
    小编给大家分享一下Linux如何使用Supervisor管理后台进程,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 1.安装easy_install supe...
    99+
    2024-04-02
  • Linux如何查看后台进程
    这篇文章给大家分享的是有关Linux如何查看后台进程的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。LINUX后台进程也叫守护进程(Daemon),是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任...
    99+
    2023-06-28
  • 怎么理解PostgreSQL的后台进程autovacuum
    本篇内容介绍了“怎么理解PostgreSQL的后台进程autovacuum”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、数据结构Auto...
    99+
    2023-05-31
  • wordpress 如何从后台数据库修改theme(图文教程)
    我们在wordpress主题theme配置的时候,会从网站上下载比较流行的theme,使自己的blog看着很酷。也有不顺利的时候,你下载的theme有bug或者下载包出问题了,安装过后你的web页面不能在访问了。悲催,想...
    99+
    2022-06-12
    wordpress theme 后台数据库
  • 如何备份和还原MSSQL数据库
    这篇文章主要讲解了“如何备份和还原MSSQL数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何备份和还原MSSQL数据库”吧! 如何备份、还原MSS...
    99+
    2024-04-02
  • MSSQL如何查看当前数据库的连接数
    要查看当前数据库的连接数,可以使用以下方法之一:1. 使用系统存储过程 `sp_who` 或 `sp_who2`,这些存储过程将列出...
    99+
    2023-09-15
    MSSQL
  • C++ 函数库如何进行数据库管理?
    c++++ 函数库可用于数据库管理,通过 头文件提供了一系列函数,支持连接、创建表、插入数据、查询、事务处理等操作,该库适用于管理与数据库交互的常见任务。 C++ 函数库用于数据库管理...
    99+
    2024-04-18
    c++ 数据库管理 标准库
  • Yii2中mssql和sql server数据库如何使用
    本篇文章给大家分享的是有关Yii2中mssql和sql server数据库如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  1.首先找...
    99+
    2024-04-02
  • 微信小程序如何实现后台解密用户数据
    这篇文章主要介绍微信小程序如何实现后台解密用户数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 微信小程序后台解密用户数据实例详解openId : 用户在当前小程序的唯一...
    99+
    2024-04-02
  • oracle数据库进程如何查看
    在Oracle数据库中,可以通过以下方法来查看进程: 使用SQL*Plus命令行工具连接到数据库。 在SQL*Plus提示符下,执...
    99+
    2024-04-09
    oracle
  • CentOS如何运行与控制后台进程
    本篇内容介绍了“CentOS如何运行与控制后台进程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我们经常会碰到这样的问题,用ssh登录了远程...
    99+
    2023-06-10
  • Linux中如何让进程在后台运行
    本篇内容介绍了“Linux中如何让进程在后台运行”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在Linux中,如果要让进程在后台运行,一般情...
    99+
    2023-06-10
  • html网页如何获取后台数据库的数据(html + ajax + php + mysql)
    博主联系方式: QQ:1540984562 QQ交流群:892023501 群里会有往届的smarters和电赛选手,群里也会不时分享一些有用的资料,有问题可以在群里多问问。 目录 ht...
    99+
    2023-09-03
    ajax php 数据库 html 前端
  • 如何用vue遍历后台数据
    这篇文章主要讲解了“如何用vue遍历后台数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用vue遍历后台数据”吧!首先,我们需要明确一点:如何获取后台数据。可以使用Vue.js的Axi...
    99+
    2023-07-06
  • 织梦CMS后台数据库异常处理指南
    织梦CMS(DedeCMS)作为一款知名的开源CMS系统,广泛应用于各类网站建设中。在使用过程中,遇到数据库异常是一个比较常见的问题。本文将为大家提供一份织梦CMS后台数据库异常处理指...
    99+
    2024-04-02
  • oracle数据库锁定后如何解锁
    要解锁Oracle数据库中的锁定对象,可以执行以下步骤:1. 确定锁定对象和锁定级别:首先需要确定哪个对象被锁定以及锁定级别,可以使...
    99+
    2023-09-15
    oracle数据库
  • 如何压缩MSSQL数据库日志文件大小
    这篇文章主要讲解了“如何压缩MSSQL数据库日志文件大小”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何压缩MSSQL数据库日志文件大小”吧! 在SQL...
    99+
    2024-04-02
  • 如何解决处理后台返回json数据格式的问题
    小编给大家分享一下如何解决处理后台返回json数据格式的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近在做一个移动端前端...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作