当前位置: 首页 > news >正文

sql sqlserver的进程资源查看,杀掉多余进程

主要是由三个表组成    sys.sysprocesses、sys.dm_exec_sessions、sys.dm_exec_requests

后面两个在2008版本后使用,主要使用sys.dm_exec_sessions

SELECT
    spid AS 会话ID,              -- 进程(会话)的ID
    blocked AS 被阻塞的会话ID,   -- 正在阻塞此进程的会话ID(如果被阻塞,则为阻塞者的spid;否则为0)
    waittime AS 等待时间毫秒,    -- 进程等待资源的时间(毫秒)
    lastwaittype AS 最后等待类型, -- 进程最后一次等待的资源类型
    waitresource AS 等待资源,    -- 进程正在等待的具体资源(如锁、键等)
    dbid AS 数据库ID,            -- 进程当前连接的数据库的ID
        DB_NAME(dbid) AS 数据库名,    -- 会话当前连接的数据库的名称
    uid AS 用户ID,               -- 执行此进程的用户ID
    cpu AS CPU时间毫秒,          -- 进程自启动以来所使用的CPU时间(毫秒)
    physical_io AS 物理IO次数,   -- 进程自启动以来所执行的物理I/O操作次数
    memusage AS 内存使用量KB,    -- 进程当前使用的内存量(KB)
    loginame AS 登录名,          -- 登录到SQL Server的用户的名称
    hostname AS 主机名,          -- 运行客户端应用程序的计算机的名称
    program_name AS 程序名,      -- 正在执行查询的客户端应用程序的名称
    status AS 进程状态,          -- 进程的状态(如running, sleeping, background等)
    cmd AS 命令类型,             -- 进程正在执行的命令类型(如SELECT, INSERT, UPDATE等)
        last_batch AS [上次执行时间],
    login_time AS 登录时间       -- 进程登录到SQL Server的时间
FROM
    sys.sysprocesses
    
     WHERE  1=1 
  and hostname='it028' or hostname='IT028' 
 and  DB_NAME(dbid)='ShenLianERP_ittest';
        
    --主要控制
SELECT
    session_id AS 会话ID,               -- 会话的唯一标识符
    login_name AS 登录用户名,           -- 登录到 SQL Server 的用户的名称
    host_name AS 主机名,                -- 运行客户端应用程序的计算机的名称
    program_name AS 程序名,             -- 正在执行查询的客户端应用程序的名称
    status AS 会话状态,                 -- 会话的状态(如 running, sleeping 等)
    cpu_time AS CPU时间毫秒,            -- 会话自启动以来所使用的 CPU 时间(毫秒)
    total_scheduled_time AS 总调度时间毫秒, -- 会话线程被调度到 CPU 上的总时间(毫秒)
    memory_usage / 1024.0 AS 内存使用量MB, -- 会话当前使用的物理内存量(MB)
    FORMAT(login_time, 'yyyy-MM-dd HH:mm:ss') AS 登录时间, -- 会话登录到 SQL Server 的时间
    FORMAT(last_request_start_time, 'yyyy-MM-dd HH:mm:ss') AS 最后请求开始时间, -- 会话上最后一个请求开始的时间
    FORMAT(last_request_end_time, 'yyyy-MM-dd HH:mm:ss') AS 最后请求结束时间, -- 会话上最后一个请求结束的时间
    DB_NAME(database_id) AS 数据库名,    -- 会话当前连接的数据库的名称
   -- blocking_session_id AS 阻塞会话ID,   -- 正在阻塞当前会话的会话 ID(NULL 表示未被阻塞)
    open_transaction_count AS 打开事务数, -- 会话当前打开的事务数
    CASE is_user_process
        WHEN 1 THEN '用户进程'
        ELSE '系统进程'
    END AS 进程类型                      -- 会话是用户进程还是系统进程
FROM
    sys.dm_exec_sessions
 WHERE  1=1 
 and host_name='it028' 
 and  DB_NAME(database_id)='ShenLianERP_ittest'
ORDER BY
    login_time DESC; -- 按登录时间降序排列结果

因为我开多线程查询了
        进程状态时sleeping是正常的,过一段时间就会释放,如果想要快速释放可以将sleeping的进程杀掉


        -- 查询可以杀掉的进程
 SELECT 'kill '+  CAST(session_id AS NVARCHAR) +';'
FROM sys.dm_exec_sessions
WHERE status = 'sleeping'  
and host_name='it028' 

and DB_NAME(database_id)='ShenLianERP_ittest';

但是只要本地开发环境的服务停掉,进程就会自动释放的,我停掉本地服务后,进程就自动释放

        
        SELECT
    session_id AS 会话ID,                -- 与请求关联的会话ID
    request_id AS 请求ID,                -- 在会话内唯一标识请求的ID
    status AS 请求状态,                  -- 请求的状态(如running, suspended, waiting等)
    command AS 命令类型,                 -- 正在执行的命令类型(如SELECT, INSERT等)
    cpu_time AS CPU时间毫秒,             -- 请求自启动以来使用的CPU时间(毫秒)
    total_elapsed_time AS 总耗时毫秒,    -- 请求自启动以来的总耗时(毫秒)
    start_time AS 请求开始时间,          -- 请求开始执行的时间戳
    sql_handle AS SQL句柄,               -- 用于唯一标识SQL语句的句柄
    -- statement_start_offset 和 statement_end_offset 通常与其他DMV一起使用,这里为了简洁省略
    plan_handle AS 计划句柄,             -- 用于唯一标识查询计划的句柄
    blocking_session_id AS 阻塞会话ID,   -- 正在阻塞当前请求的会话ID(NULL表示未被阻塞)
    wait_type AS 等待类型,               -- 请求当前等待的资源类型
    wait_time AS 等待时间毫秒,           -- 请求已经等待的时间(毫秒)
    wait_resource AS 等待资源,           -- 请求正在等待的具体资源
    open_transaction_count AS 打开事务数 -- 请求当前打开的事务数
FROM
    sys.dm_exec_requests;
        
        

http://www.lryc.cn/news/547060.html

相关文章:

  • 自然语言处理:朴素贝叶斯
  • Pytorch实现之LSRGAN,轻量化SRGAN超分辨率SAR
  • 学习记录-缺陷
  • 文件压缩与解压工具7-Zip的安装和使用(免费)
  • 如何实现对用户密码的加密
  • MySQL基础四(JDBC)
  • 审批流AntV框架蚂蚁数据可视化X6饼图(注释详尽)
  • 用Python之requests库调用大模型API实现多轮对话
  • 《异步江湖:XHR、Promise 与 Event Loop 的恩怨情仇》
  • 【极客时间】浏览器工作原理与实践-2 宏观视角下的浏览器 (6讲) - 2.5 渲染流程(上):HTML、CSS和JavaScript,是如何变成页面的?
  • 蓝桥杯第15届真题解析
  • 19c rac-expdp备份异常处理
  • 轻松部署 Stable Diffusion WebUI 并实现局域网共享访问:解决 Conda Python 版本不为 3.10.6 的难题
  • 20250304在Ubuntu20.04的GUI下格式化exFAT格式的TF卡为ext4格式
  • AIP-159 跨集合读
  • C++进阶(七)--STL--bitset(位图)的介绍与基本功能模拟实现
  • 清北deepseek8本手册
  • 如何将Promise.then中的值直接return出来
  • 利用golang embed特性嵌入前端资源问题解决
  • SPI驱动(二) -- SPI驱动程序模型
  • 【无标题】FrmImport
  • 深入浅出 Go 语言:协程(Goroutine)详解
  • vLLM代码推理Qwen2-VL多模态
  • DNS云解析有什么独特之处?
  • 视频流畅播放相关因素
  • Python实现一个类似MybatisPlus的简易SQL注解
  • linux一些使用技巧
  • 小模型和小数据可以实现AGI吗
  • io学习----->文件io
  • kubernetes介绍