1. 활성중인 트랜잭션 조회
DBCC OPENTRAN
2. Lock TimeOut 설정 값 조회 / default : -1(무제한)
SELECT @@LOCK_TIMEOUT
3. Lock TimeOUT 설정
SET LOCK_TIMEOUT 1800 -- 밀리세컨드로 3분설정
-- Lock이 걸린 후 3분이 지나면 세션이 끊김
4. Lock 확인 및 Lock 죽이기
EXEC sp_lock
-- 프로시저 실행하여 mode가 x인 것 확인
dbcc inputbuffer(spid)
-- mode가 x인 것의 spid를 입력하면 해당 테이블정보가 출력
kill spid
-- 문제가 되는 spid를 kill한다.
5. 데이터베이스를 사용하고 있는 사용자의 연결 정보
sp_who2
------------------------------------------------------------------------------------------------------------------
※ORACLE은 QUERY 실행시 WITH(NOLOCK)이 default지만, MSSQL은 NOLOCK가 셀프서비스임
[기본세팅]QUERY 실행 시 NOLOCK 자동 실행설정
=> 도구-옵션-QUERY 실행-SQL Server-고급-SET TRANSACTION ISOLATION LEVEL(READ UNCOMMITTED)
[수동세팅]QUERY 실행 시 LOCK 문구 추가
EX) SELECT * FROM [TEST] (NOLOCK)
※단, TABLE 명에 alias(별칭) 사용 시 별칭 뒤에 붙여야 함( [TEST] AS T (NOLOCK) )
출처:MSSQL에서 SELECT 시 LOCK이 발생할 경우 LOCK 제거
http://likekururu.egloos.com/69525
-------------------------------------------------------------------------------------------------------------------
'데이타베이스' 카테고리의 다른 글
[ Oracle ] 오라클 테이블스페이스/유저추가 (0) | 2016.01.05 |
---|---|
[ MSSQL ] Lock 에대한 구체적정리 (2013.0325) (2) | 2016.01.05 |
[ DB ] ALTER 명령 (0) | 2016.01.05 |
[ MYSQL ] 사용자추가, 외부접속권한 (0) | 2016.01.05 |
[ ORACLE ] SQL DB 상태조회 (0) | 2015.01.09 |
댓글