[MSSQL] begin tran 자동설정

#오토커밋제거 #자동으로커밋 #IMPLICIT_TANSACTIONS #SSMS커밋설정 #commit #rollback #auto

안녕하세요, 배곧동개발자 입니다.

DB를 다루면서 가장 어려운건 update, delete 문을 다루는 것 같아요. 쿼리가 어렵다는게 아니라 실수로 쿼리를 날렸을 때의 책임이란…

오라클이야 그나마 redo 가 있어서 다행이지만 MSSQL은, 생각만해도 끔찍하네요. 그래서 begin tran을 사용해서 커밋이 바로 되지 않도록 많이들 하시지요.


1. AUTO COMMIT이 기본

Microsoft SQL Server Management Studio를 많이 쓰실텐데 오토커밋이 기본으로 잡혀있기에 이렇다는건 알고 계셨나요? 이 설정을 풀어버리면 커밋이 자동으로 되지 않고 사용자가 커밋 또는 롤백을 입력해야 해당 쿼리가 실행되게 됩니다.

사실 auto commit이 없다 가정하면 rolback 또는 commit 안쳐서 락 걸리는 참사가 일어날 수도 있지요.


2. BEGIN TRAN 자동설정

[도구] – [옵션] – [쿼리실행] – [SQL Server] – [ANSI]에 있는 [SET IMPLICIT_TANSACTIONS]를 체크하시고 프로그램을 재시작해주시면 그때부터는 자동으로 begin tran이 잡히게 됩니다.

단, 쿼리 실행 후 커밋이나 롤백을 입력하기 전까진 DB를 계속 잡고 있으니 쿼리 실행 후 꼭 입력해주셔야해요. 이렇게 해주면 조금 귀찮긴해도 데이터 날리진 않겠지요?

이만, 배곧동개발자 였습니다.

Leave a Comment