트랜잭션은 단일 명령 또는 패키지로 실행되는 명령 그룹으로 구성됩니다. 트랜잭션을 사용하면 여러 작업을 단일 작업 단위로 결합할 수 있습니다. 트랜잭션의 한 지점에서 오류가 발생하면 모든 업데이트를 트랜잭션 전 상태로 롤백할 수 있습니다.
트랜잭션은 데이터 일관성을 보장하기 위해 ACID 속성(원자성, 일관성, 격리 및 내구성)을 준수해야 합니다. Microsoft SQL Server와 같은 대부분의 관계형 데이터베이스 시스템은 클라이언트 애플리케이션이 업데이트, 삽입 또는 삭제 작업을 수행할 때마다 잠금, 로깅 및 트랜잭션 관리 기능을 제공하여 트랜잭션을 지원합니다.
비고
잠금이 너무 오래 유지되는 경우 여러 리소스를 포함하는 트랜잭션은 동시성을 낮출 수 있습니다. 따라서 트랜잭션을 최대한 짧게 유지합니다.
트랜잭션에 동일한 데이터베이스 또는 서버의 여러 테이블이 포함된 경우 저장 프로시저의 명시적 트랜잭션이 더 잘 수행되는 경우가 많습니다. Transact-SQL BEGIN TRANSACTION
COMMIT TRANSACTION
및 ROLLBACK TRANSACTION
문을 사용하여 SQL Server 저장 프로시저에서 트랜잭션을 만들 수 있습니다.
SQL Server와 Oracle 간의 트랜잭션과 같이 다양한 리소스 관리자가 관련된 트랜잭션에는 분산 트랜잭션이 필요합니다.
이 섹션 안에
로컬 트랜잭션
데이터베이스에 대해 트랜잭션을 수행하는 방법을 보여 줍니다.
분산 트랜잭션
ADO.NET 분산 트랜잭션을 수행하는 방법을 설명합니다.
SQL Server와의 System.Transactions 통합
System.Transactions 분산 트랜잭션 작업을 위한 SQL Server와의 통합에 대해 설명합니다.
낙관적 동시성
낙관적 및 비관적 동시성 및 동시성 위반을 테스트하는 방법을 설명합니다.