首页 > 数据库 >sqlserver sp_who2和inputbuffer的使用,如何查询进程执行的脚本代码【转】

sqlserver sp_who2和inputbuffer的使用,如何查询进程执行的脚本代码【转】

时间:2024-04-28 14:22:47浏览次数:16  
标签:inputbuffer sp sqlserver 查询 sql 进程 执行

一、sp_who2的使用

1、存储过程的位置

  

   sp_who官方解释地址:https://docs.microsoft.com/zh-cn/sql/relational-databases/system-stored-procedures/sp-who-transact-sql?redirectedfrom=MSDN&view=sql-server-2017

 2、查出的列名的含义

  CPUTime : 进程占用的总CPU时间,单位是毫秒,比查询窗口里的执行时间要小,所以这个时间不能是进程的执行时间,只是占用CPU的时间,一个查询可能还能有从磁盘读取数据的时间,和磁盘的I/O交互时间,这段时间说否还占用CPU,不清楚,实践发现这个时间是小于查询窗口的执行时间的。

  DiskIO:进程对磁盘读的总次数,IOPS

  LastBatch:客户最后一次调用存储过程或者执行查询的时间

  ProgramName:用来初始化连接的应用程序名称或者主机名

  BLKBy:用来指出被锁住的进程ID,例如:下面的57就是被55进程给锁住了

  

   ProgramName:使用该进程的项目

3、进程的状态

  running:正在运行一个或多个批

  suspended:挂起,正在等待事件完成(如I/O),也有可能是其他进程把表锁住了,如上图BlkBy下面的截图

  runnable:可运行的进程(可能已经跑完了,也有可能正在执行,比如大的查询,循环插入表的操作,可以多执行几次sp_who2看一下后面的CPUTime是否有变化)

  

  background:后台执行的进程,例如死锁检测

  sleeping:睡眠的进程(已经跑完了)

  dormant:SQLServer正在重置会话

  rollback:会话正在处理事务回滚

  pending:会话中的任务正在调节锁变为可用

4、根据进号查询指定进程的信息

  命令:exec sp_who2 55

  

5.sp_who可以根据登录用户名查询该用户的进程(查出的列显示不全)

  命令:exec sp_who dbrun

6.查看数据库的最大连接数

  命令:select @@MAX_CONNECTIONS

 7.查看数据库自上次启动以来的连接次数

命令:select @@CONNECTIONS

 7.查看指定数据库的当前连接数

命令:

select * from master.dbo.sysprocesses where dbid in 
(
select dbid from master.dbo.sysdatabases where name='run'
)

二、dbcc inputbuffer()

1、功能:查看某个进程的执行语句

2、官网解释:https://docs.microsoft.com/zh-cn/sql/t-sql/database-console-commands/dbcc-inputbuffer-transact-sql?view=sql-server-2017

3、使用例子

  (1)创建表,插入数据

    --a.创建表

      CREATE TABLE dbo.T1 (Col1 int, Col2 char(3)); 
      GO

    --b.执行插入数据
      DECLARE @i int = 0; 
      BEGIN TRAN 
      SET @i = 0; 
      WHILE (@i < 100000) 
      BEGIN 
        INSERT INTO dbo.T1 VALUES (@i, CAST(@i AS char(3))); 
        SET @i += 1; 
      END; 
      COMMIT TRAN;

    

  (2)使用inputbuffer查看进程执行的语句

    命令:dbcc inputbuffer(62)

    

 

     

 转自:https://www.cnblogs.com/jialanyu/p/11573164.html

标签:inputbuffer,sp,sqlserver,查询,sql,进程,执行
From: https://www.cnblogs.com/XDSoft/p/18163665

相关文章

  • ClubSphere项目主要风险和典型用户
    一.项目风险分析机会风险一、市场风险:1.市场接受度:市场对于我们软件的接受时间不确定,对我们的软件可能表现出较低的接受度。2.市场发展趋势:市场未来发展不确定,对于社团软件需求可能下降。3.市场知名度与拓展:软件前期在市场的知名度不高影响不大,极有可能被市场淘汰。4.市场宣......
  • Spring中控制反转究竟反转的什么
    你好,这里是codetrend专栏“Spring6全攻略”。控制反转(InversionofControl,IoC)是一种软件设计原则,它将传统的程序设计中的控制权从应用程序代码转移到框架或容器,从而实现了松耦合和更好的可维护性。在控制反转的概念中,应用程序的组件不再负责自己的创建和管理,而是交给外部容器......
  • springboot~redis的hash结构为key设置过期策略
    redis配置文件开启键过期#The"notify-keyspace-events"takesasargumentastringthatiscomposed#ofzeroormultiplecharacters.Theemptystringmeansthatnotifications#aredisabled.##Example:toenablelistandgenericevents,fromthepo......
  • Java面试题:你知道Spring的IOC吗?那么,它为什么这么重要呢?
    Spring的IOC(控制反转)是一种设计模式,它允许开发者将对象的创建和管理交给Spring框架来完成。在Spring中,IOC允许开发者将对象依赖关系从代码中分离出来,从而使代码更加灵活、可重用和易于管理。IoC全称InverseofControl(反向控制或控制反转)。在类和类之间存在控制权,控制权指的是......
  • 不推荐把“线程”注入到Spring、在线程中使用Spring的Bean的方法
    一、不推荐把“线程”注入到spring将线程注入到Spring容器中并不是一个常见的做法,而且通常也不推荐这样做,原因如下:生命周期管理困难:Spring管理的Bean生命周期由Spring容器管理,而线程的生命周期由JVM管理。将线程注入到Spring容器中会导致线程的生命周期与Spring容器的生命周......
  • SpringBoot中几种好用的代码生成器(基于Mybatis-plus生成entity、mapper、xml等)
    前言熟悉Spring框架的同学一定都知道MVC开发模式吧,控制器(Controller)、业务类(Service)、持久层(Repository)、数据库映射(Mapper)、各种DO类构成了我们服务端的代码。初学的时候,觉得新鲜手写这些东西不觉得有啥,但是写久了就会觉得很烦。好不容易在数据库中写完了一遍字段,在Java代码又要......
  • 【FileZillaServer用网络驱动器作为主目录时,客户端无法列出文件】【Spring Boot安装成
    遇到的两个问题安装FileZillaServer后,把映射的网络驱动器内容作为主目录时,客户端能正常登录,但是无法列出文件。把本机的某个目录组为主目录,客户端可以正常列出文件。把SpringBoot安装成Windows服务时,访问系统中映射的网络驱动器失败(开发过程中能够正常访问,通过命令的方式......
  • SqlServer中根据某几列获取重复的数据将其删除并保留最新一条
    有时候,我们某个数据表中,可能有几列的数据都是一样的,此时我们可能想查询出这几列数据相同的所有数据行,并保留最新一条,将其他重复的数据删除。......
  • Spring Boot 编写 API 的 10条最佳实践
    10个最佳实践,让您像专业人士一样编写SpringBootAPI,并结合编码示例和解释:1.RESTfulAPI设计原则:清晰一致的资源命名:使用准确反映API管理的资源的名词(例如,/products、/users)。@GetMapping("/products/{id}")publicResponseEntity<Product>getProductById(@PathVaria......
  • SpringMVC(1)-@RequestMapping的简单使用
    本文核心内容来自于韩顺平老师的课程@RequestMapping注解可以用来指定控制器或者处理器的某个方法的请求url@ControllerpublicclassUserServlet{@RequestMapping("/login")publicStringlogin(){return"login";}}1@RequestMappi......