본문 바로가기
반응형

MSSQL2

[MS-SQL] 락(LOCK) 걸렸을 때 강제 종료(KILL) MS-SQL 에서 SELECT 했을 때 타임아웃에 걸려 연결이 끊기는 경우, 테이블에 락이 걸려서 문제가 되는 경우가 있다. 이런 경우 LOCK 걸린 쿼리를 조회해서 강제로 KILL 해줘야 한다. 1. LOCK 걸린 SPID 조회하기 SP_LOCK 2. MS-SQL 내장함수로 제공되는 SP_WHO2, SP_WHO3를 이용하여 ID 조회하기 SP_WHO2 SP_WHO3 실행 결과에서 BlkBy 컬럼에 값이 존재하면 LOCK 걸린 프로세스의 ID이다. SP_WHO2가 더 보기 편하긴 한데, 가끔 제대로 조회가 안 되는 경우가 있다. 이 땐 SP_WHO3을 사용하자. 3. LOCK 걸린 SPID를 기준으로 실행되고 있는 쿼리 확인 DBCC INPUTBUFFER([SPID]) 4. SPID를 기준으로 세션 종료.. 2022. 1. 5.
[SQL 활용] 서브쿼리 1. 서브쿼리(SubQuery)란? 하나의 SQL문 안에 포함되어 있는 또 다른 SQL문을 말함. 2. 서브쿼리 특징 1) 조인의 경우 조인에 참여하는 모든 테이블이 대등한 관계에 있기 때문에 조인에 참여하는 모든 테이블의 컬럼을 어느 위치에서라도 자유롭게 사용 2) 서브쿼리의 경우 메인쿼리의 컬럼을 모두 사용 할 수 있지만 메인쿼리는 서브쿼리의 컬럼을 사용 할 수 없음. ex. SELECT A.USER_ID, A.USER_EAMIL, B.USER_NAME -- 서브쿼리의 컬럼(사용 x) FROM USER A WHERE USER_ID = ( SELECT B.USER_ID FROM USER_DETAIL B WHERE A.USER_ID = B.USER_ID -- A.USER_ID는 메인쿼리의 컬럼 ) ▲ 위.. 2017. 12. 6.
반응형