본문 바로가기
MS-SQL/Query

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 옵션

by Hwoarang757 2013. 2. 5.

역시 제가 초보라 depth 한 요약을 하지 못하네요 -0-;;

 

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED  

옵션으로는 테이블 단위로 COMMIT 되지 않은 읽기를 시도 할수 있지만 예를 들면 잠금(LOCK이 설정되어 있는 테이블) 의 읽기

(DIRTY READ) 가 발생 할 수 있는 걸로 알고 있습니다.

 

NOLOCK 과 동일한 기능을 하는 것을 알고 있지만

 

NOLOCK 은 SELECT 쿼리 별로 설정을 할 수 있고

-------------------------------------------------------------------------------------------------------------------------------------

SELECT * FROM TEST WITH (NOLOCK)

-------------------------------------------------------------------------------------------------------------------------------------

 

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 옵션은 세션이나 SPID 등에서 설정시 전체가 동작되는 특징을 갖고 있는거 같습니다.

 

-------------------------------------------------------------------------------------------------------------------------------------

 

ALTER PROCEDURE DBO.sp_test

AS

-- 옵션설정

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

  

SELECT * FROM TEST

SELECT * FROM TEST2

 

 

 

-------------------------------------------------------------------------------------------------------------------------------------

해당 세션이나 SPID에서 옵션 설정시 전체가 적용되는 특징입니다.