다음을 통해 공유


트랜잭션 문(Transact-SQL)

트랜잭션은 작업의 한 단위입니다. 트랜잭션이 성공하면 트랜잭션 동안 이루어진 모든 데이터 수정은 커밋되고 데이터베이스의 영구적인 부분이 됩니다. 트랜잭션에 오류가 발생하여 취소되거나 롤백되면 모든 데이터 수정은 지워집니다.

SQL Server는 다음 트랜잭션 모드에서 작동합니다.

  • 자동 커밋 트랜잭션
    개별 문이 바로 트랜잭션에 해당합니다.

  • 명시적 트랜잭션
    각 트랜잭션이 BEGIN TRANSACTION 문으로 명시적으로 시작하여 COMMIT 또는 ROLLBACK 문으로 명시적으로 끝납니다.

  • 암시적 트랜잭션
    새 트랜잭션은 이전 트랜잭션이 완료되면 암시적으로 시작되지만 각 트랜잭션은 COMMIT 또는 ROLLBACK 문으로 명시적으로 완료됩니다.

  • 일괄 처리 범위의 트랜잭션
    MARS(Multiple Active Result Sets)에만 해당되며, MARS 세션에서 시작되는 Transact-SQL 명시적 또는 암시적 트랜잭션이 일괄 처리 범위 트랜잭션이 됩니다. 일괄 처리가 완료될 때 커밋되거나 롤백되지 않은 일괄 처리 범위의 트랜잭션은 SQL Server에서 자동으로 롤백합니다.

섹션 내용

SQL Server에서는 다음과 같은 트랜잭션 문을 제공합니다.

BEGIN DISTRIBUTED TRANSACTION

ROLLBACK TRANSACTION

BEGIN TRANSACTION

ROLLBACK WORK

COMMIT TRANSACTION

SAVE TRANSACTION

COMMIT WORK

참고 항목

참조

SET IMPLICIT_TRANSACTIONS(Transact-SQL)

@@TRANCOUNT(Transact-SQL)