MSSQL을 사용하다가 조회결과가 나오지 않을 경우 테이블에 락이 걸려서 발생 가능성이 있음

 

1. SP_LOCK 실행 

MODE값이 X인 것(LOCK걸린놈)을 확인 한후 SPID를 확인

 

2. LOCK 걸린 쿼리 조회

DBCC INPUTBUFFER(SPID번호)

 

3. LCOK으로 의심되는 SPID 조회

SELECT p.status ,p.program_name ,p.hostname ,p.spid ,p.blocked ,p.kpid

    ,p.cpu ,p.physical_io ,p.waittype ,p.waittime ,p.lastwaittype

    ,p.waitresource ,p.dbid ,p.uid ,p.memusage ,p.login_time ,p.last_batch

    ,p.ecid ,p.open_tran ,p.sid ,p.hostprocess

    ,p.cmd ,p.nt_domain ,p.nt_username ,p.net_address

    ,p.net_library ,p.loginame ,p.context_info ,p.sql_handle

    ,p.stmt_start ,p.stmt_end

FROM master..sysprocesses p

WHERE (

        STATUS LIKE 'run%'

        OR waittime > 0

        OR blocked <> 0

        OR open_tran <> 0

        OR EXISTS (

            SELECT *

            FROM master..sysprocesses p1

            WHERE p.spid = p1.blocked

                AND p1.spid <> p1.blocked

            )

        )

    AND spid > 50

    AND spid <> @@spid

ORDER BY CASE

        WHEN STATUS LIKE 'run%'

            THEN 0

        ELSE 1

        END

    ,waittime DESC

    ,open_tran DESC

 

4. KILL 죽이기

KILL SPID 번호 -- 죽일번호(LOCK걸린놈)

'[DB] > [MSSQL]' 카테고리의 다른 글

소계, 합계 구하기  (0) 2020.04.27
프로시저 생성시 변수에 데이터 넣기  (0) 2020.04.25
# 저장 프로시저  (0) 2020.04.07
# 트랜잭션  (0) 2020.04.07
@@ROWCOUNT  (0) 2020.03.26

+ Recent posts