zoukankan      html  css  js  c++  java
  • SQL查死锁进程,并结束死锁进程ID,如结束不掉可能是正被使用或占用,查找原因再Kill

    查死锁以及出现锁定的语句及进程ID
    --如果发现死锁进程ID  则可以使用  Kill SPID 的方式终止进程

    CREATE Table #Who(spid int,
        ecid 
    int,
        status 
    nvarchar(50),
        loginname 
    nvarchar(50),
        hostname 
    nvarchar(50),
        blk 
    int,
        dbname 
    nvarchar(50),
        cmd 
    nvarchar(50),
        request_ID 
    int);

    CREATE Table #Lock(spid int,
        dpid 
    int,
        objid 
    int,
        indld 
    int,
        
    [Type] nvarchar(20),
        Resource 
    nvarchar(50),
        Mode 
    nvarchar(10),
        Status 
    nvarchar(10)
    );

    INSERT INTO #Who
        
    EXEC sp_who active  --看哪个引起的阻塞,blk 
    INSERT INTO #Lock
        
    EXEC sp_lock  --看锁住了那个资源id,objid 

    DECLARE @DBName nvarchar(20);
    SET @DBName='IRMManage'

    SELECT #Who.* FROM #Who WHERE dbname=@DBName
    SELECT #Lock.* FROM #Lock
        
    JOIN #Who
            
    ON #Who.spid=#Lock.spid
                
    AND dbname=@DBName;

    --最后发送到SQL Server的语句
    DECLARE crsr Cursor FOR
        
    SELECT blk FROM #Who WHERE dbname=@DBName AND blk<>0;
    DECLARE @blk int;
    open crsr;
    FETCH NEXT FROM crsr INTO @blk;
    WHILE (@@FETCH_STATUS = 0)
    BEGIN;
        
    dbcc inputbuffer(@blk);
        
    FETCH NEXT FROM crsr INTO @blk;
    END;
    close crsr;
    DEALLOCATE crsr;

    --锁定的资源
    SELECT #Who.spid,hostname,objid,[type],mode,object_name(objid) as objName FROM #Lock
        
    JOIN #Who
            
    ON #Who.spid=#Lock.spid
                
    AND dbname=@DBName
        
    WHERE objid<>0;

    DROP Table #Who;
    DROP Table #Lock;
  • 相关阅读:
    [LA] 3027
    [POJ] 3264 Balanced Lineup [ST算法]
    [LA] 3644
    [Codeforces Round #248 (Div. 2)] B. Kuriyama Mirai's Stones
    [Codeforces Round #248 (Div. 2)] A. Kitahara Haruki's Gift
    [Codeforces Round #247 (Div. 2)] B. Shower Line
    [Codeforces Round #247 (Div. 2)] A. Black Square
    [UVA] 784
    [OpenJudge] 百练2754 八皇后
    449 Set、Map数据结构
  • 原文地址:https://www.cnblogs.com/hanguoji/p/1820294.html
Copyright © 2011-2022 走看看