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