본문 바로가기
MS-SQL

트랜잭션 격리 수준(SQL Server 2008, 트랜잭션과 잠금)

by 캡틴노랑이 2015. 7. 29.
반응형

트랜잭션 격리 수준(SQL Server 2008, 트랜잭션과 잠금)


SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

READ UNCOMMITTED : 커밋되지 않은 데이터도 포함해서 읽기
READ COMMITTED   : 커밋되기 전까지 데이터 접근 못함.
REPEATABLE READ  : 공유잠금(select)이 걸려있는 상태에서는 update/delete는 불가. 하지만, insert는 가능함.
SNAPSHOT      : 공유잠금 상태에서도 insert가 가능하다. 실 TABLE에 저장을 하는게 아니라 TEMPDB에 저장을 한 다음에 commit되면

데이터를 이동 시킨다.
SERIALIZABLE  : REPEATABLE READ상태에서는 insert가 가능하다. insert도 불가능하게 할 때사용.

 

select를 수행할 때는 공유잠금(Shared LocK)이 걸림.
insert/update/delete를 수행하게 되면 배타적 잠금(Exclusive Lock)이 걸림.

 

트랜잭션 정보보기

select resource_type
,         resource_database_id
,         resource_associated_entity_id
,         request_mode
from sys.dm_tran_locks

 

컬럼명

내용

사용법

resource_type DATABASE, OBJECT, PAGE  
resource_database_id DB명 확인 하기 select DB_NAME(5)
resource_associated_entity_id 테이블 확인하기 select OBJECT_NAME(1713441178)
     
     
     
     
     
     
     
     
     
     
     

 

 

SET LOCK_TIMEOUT 15000   --트랜잭션 블러킹 제한 시간설정

select @@lock_timeout         --블러킹 유효시간

select @@TRANCOUNT       --트랜잭션 수

 

반응형

'MS-SQL' 카테고리의 다른 글

XML  (0) 2015.07.29
DATEADD -일정 수 만큼 날짜 더하기  (0) 2015.07.29
  (0) 2015.07.29
사용자 정의 함수(Function)  (0) 2015.07.29
유용한 쿼리  (0) 2015.07.28

댓글