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 |