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

sql server 自动kill 查询超过20分钟的语句

起源于同事的烂sql 容易拖垮 数据服务器,

周末没有人监控数据库,好几次导致主从数据库同步失败 ,不得不自动kill 烂sql

语句如下 :

-- 声明变量来存储超过20分钟的查询的会话ID
DECLARE @kill_sessions TABLE (session_id INT);

DECLARE @sql NVARCHAR(MAX) = '';  


-- 终止找到的会话
DECLARE @session_id INT;
-- 插入超过20分钟的查询的会话ID到表中
INSERT INTO @kill_sessions
SELECT session_id
FROM sys.dm_exec_requests AS req
CROSS APPLY sys.dm_exec_sql_text(req.sql_handle) AS st
WHERE 
    -- 过滤出执行时间超过20分钟的查询
    DATEDIFF(SECOND, req.start_time, GETDATE()) > 1200
    AND st.text NOT LIKE '%--%kill_sessions%--%' and req.commAND='select';-- 避免终止这个脚本自身的会话
    
    --select * from @kill_sessions
    -- SELECT TOP 1 @session_id = session_id FROM @kill_sessions;
    --  PRINT 'Killing session ID: ' + CAST(@session_id AS VARCHAR(10));

       --DELETE FROM @kill_sessions WHERE session_id = @session_id;
       --KILL @session_id;

WHILE EXISTS (SELECT 1 FROM @kill_sessions)
BEGIN
    SELECT TOP 1 @session_id = session_id FROM @kill_sessions;
    PRINT 'Killing session ID: ' + CAST(@session_id AS VARCHAR(10));
    select   @sql= @sql +  'KILL '+cast( @session_id as varchar(10))
    EXEC  sp_executesql @sql 
    DELETE FROM @kill_sessions WHERE session_id = @session_id;
END;

再在sql server 代理做定时任务 ,


http://www.kler.cn/a/388572.html

相关文章:

  • 【AI换装整合包及教程】CatVTON与其他虚拟试衣技术的详细对比
  • vue elementui el-dropdown-item设置@click无效的解决方案
  • 深度学习服务器租赁AutoDL
  • 什么是 Real-Time Factor (RTF)
  • 11.11比赛总结
  • 基于python 的opencv 使用GrabCut算法分割图像代码
  • MISRA C2012学习笔记(9)-Rules 8.14
  • 论文解读之SDXL: Improving Latent Diffusion Models forHigh-Resolution Image Synthesis
  • 简易入手《SOM神经网络》的本质与原理
  • Golang | Leetcode Golang题解之第552题学生出勤记录II
  • WordPress HTTPS 配置问题解决方案
  • 试编写算法将单链表就地逆置(默认是带头节 点,如果是不带头节点地逆置呢?)
  • Ubuntu24.04网络异常与应对方案记录
  • 【OH】openHarmony开发环境搭建(基于windows子系统WSL)
  • 在Ubuntu下安装RabbitMQ、添加一个新的登录用户并设置密码
  • 【kafka】大数据编写kafka命令使用脚本,轻巧简洁实用kafka
  • docker-compose 部署ntp时间同步服务(tmpfs例子)
  • 三菱MR-J4-B系列伺服参数一览
  • 第26天 安全开发-PHP应用模板引用Smarty渲染MVC模型数据联动RCE安全
  • 多线程编程中,使用 std::mutex 需要注意一些潜在的问题
  • 机器人开发:从零开始构建你的第一个机器人
  • 实验(未完成)
  • 43.第二阶段x86游戏实战2-提取游戏里面的lua
  • 宏观经济学笔记
  • PyQt5 详细安装与配置教程及使用
  • CSS的配色