SQL Server 在线进程分析处理


SQL Server 在线进程分析处理

前言

      数据库在线进程处理在很多时候需要人为干预已达到预期管理目标,下面整理一下常用的在线进程管理方法,便于后续工作使用。

一、查看目标数据库在线进程,并杀死指定进程

  • 检索当前数据库在线进程

       SELECT * FROM sys.sysprocesses WHERE dbid=DB_ID('AdventureWorks')

  • 杀掉指定进程

      kill spid

二、删除SQL Server在线用户

  • 查询指定用户的当前在线进程

        select spid from sysprocesses where loginame='Login_Name';

  • 杀掉指定进程

      kill spid

三、查看当前阻塞并清除

--例如使用master数据库,sa用户进行检索

use master
go
--查看线程,分析blocked 较多的进程,
SELECT * FROM SYSPROCESSES WHERE blocked >0 order by blocked ;

--继续查看进程被谁阻塞,分析导致阻塞的源头
SELECT * FROM SYSPROCESSES WHERE spid =spid_no

--查看此进程执行的SQL 是哪个,查找问题原因
dbcc inputbuffer(spid);

--KILL 掉当前导致阻塞的SQL
kill spid


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM