2012. 6. 12. 18:15

[MS-SQL] AUTO COMMIT 해제 방법

MS-SQL SERVER 2005

 

도구 > 옵션 > 쿼리 실행 > SQL SERVER > ANSISET IMPLICIT_TRANSACTIONS

 

체크 후 COMMIT / ROLLBACK 가능하다.

 

단, COMMIT / ROLLBACK 실행 이전까지 테이블 락이 잡혀서 외부에서 사용이 불가능하다.

 


TIP >>

 

오라클의 경우 UPDATE, DELETE, INSERT 문을 실행하고 COMMIT, ROLLBACK를 지정할수가 있다.

 

오라클 초기 설치시 자동으로 COMMIT 을 하지 않기 때문이다.
 

이에 비해 MS-SQL은 자동 COMMIT 을 한다.
 
COMMIT 실행하지 않아도 자동으로 시스템에서 COMMIT 을 하기 때문이다.

(물론 설정을 바꿀수는 있지만 그렇게 사용하는 사람은 많지 않을 것이다. )


ROLLBACK 을 할수 있는 경우는


BEGIN TRAN

  UPDATE ....


위에 예처럼 BEGIN TRAN를 사용하여 UPDATE, DELETE, INSERT 한 후,

 

데이터가 이상이 없으면 COMMIT, 이상이 있는 경우 ROLLBACK을 하면 된다.

 

항상 DELETE, UPDATE 시 BEGIN TRAN을 사용하는 것을 권장한다.

 

Trackback 0 Comment 0