암시적 트랜잭션
연결이 암시적 트랜잭션 모드에서 작동할 때는 현재 트랜잭션이 커밋 또는 롤백된 후 SQL Server 데이터베이스 엔진 인스턴스에서 자동으로 새 트랜잭션을 시작합니다. 트랜잭션 시작을 직접 지정할 필요 없이 각 트랜잭션을 커밋 또는 롤백하기만 하면 됩니다. 암시적 트랜잭션 모드는 트랜잭션의 연속 체인을 생성합니다.
연결에 대해 암시적 트랜잭션 모드를 설정하고 나면 이러한 문을 처음 실행할 때 데이터베이스 엔진 인스턴스가 자동으로 트랜잭션을 시작합니다.
ALTER TABLE |
INSERT |
CREATE |
OPEN |
DELETE |
REVOKE |
DROP |
SELECT |
FETCH |
TRUNCATE TABLE |
GRANT |
UPDATE |
COMMIT 또는 ROLLBACK 문을 실행한 후에도 트랜잭션은 계속 적용됩니다. 첫 번째 트랜잭션이 커밋 또는 롤백되면 나중에 연결에 의해 이러한 문이 실행될 때 데이터베이스 엔진 인스턴스에서 자동으로 새 트랜잭션을 시작합니다. 이 인스턴스는 암시적 트랜잭션 모드가 해제될 때까지 암시적 트랜잭션 체인을 계속 생성합니다.
암시적 트랜잭션 모드는 Transact-SQL SET 문을 사용하거나 데이터베이스 API 함수 및 메서드를 사용하여 설정됩니다.
[!참고]
MARS(Multiple Active Result Set) 세션에서는 Transact-SQL 암시적 트랜잭션이 일괄 처리 범위의 트랜잭션이 됩니다. 일괄 처리가 완료될 때 일괄 처리 범위의 트랜잭션이 커밋되거나 롤백되지 않으면 SQL Server에서 해당 트랜잭션을 자동으로 롤백합니다. 자세한 내용은 트랜잭션 제어(데이터베이스 엔진) 및 트랜잭션 문(Transact-SQL)을 참조하십시오.