다음을 통해 공유


COMAdminTxIsolationLevelOptions 열거형(comadmin.h)

트랜잭션에 사용할 격리 수준을 나타냅니다.

Syntax

typedef enum COMAdminTxIsolationLevelOptions {
  COMAdminTxIsolationLevelAny = 0,
  COMAdminTxIsolationLevelReadUnCommitted,
  COMAdminTxIsolationLevelReadCommitted,
  COMAdminTxIsolationLevelRepeatableRead,
  COMAdminTxIsolationLevelSerializable
} ;

상수

 
COMAdminTxIsolationLevelAny
값: 0
모든 격리 수준이 지원됩니다. 이 격리 수준이 있는 다운스트림 구성 요소는 항상 즉각적인 업스트림 구성 요소에서 사용하는 것과 동일한 격리 수준을 사용합니다. 트랜잭션의 루트 개체에 COMAdminTxIsolationLevelAny로 구성된 격리 수준이 있는 경우 해당 격리 수준은 COMAdminTxIsolationLevelSerializable이 됩니다.
COMAdminTxIsolationLevelReadUnCommitted
트랜잭션은 다른 트랜잭션에 의해 수정되는 경우에도 모든 데이터를 읽을 수 있습니다. 트랜잭션 중에 모든 유형의 새 데이터를 삽입할 수 있습니다. 이는 가장 안전한 격리 수준이지만 가장 높은 동시성을 허용합니다.
COMAdminTxIsolationLevelReadCommitted
트랜잭션은 커밋되지 않은 다른 트랜잭션에서 수정되는 데이터를 읽을 수 없습니다. 트랜잭션 중에 모든 유형의 새 데이터를 삽입할 수 있습니다. Microsoft SQL Server 기본 격리 수준입니다.
COMAdminTxIsolationLevelRepeatableRead
현재 트랜잭션에서 읽은 데이터는 현재 트랜잭션이 완료될 때까지 다른 트랜잭션에서 변경할 수 없습니다. 트랜잭션 중에 모든 유형의 새 데이터를 삽입할 수 있습니다.
COMAdminTxIsolationLevelSerializable
현재 트랜잭션에서 읽은 데이터는 현재 트랜잭션이 완료될 때까지 다른 트랜잭션에서 변경할 수 없습니다. 현재 트랜잭션에 영향을 주는 새 데이터를 삽입할 수 없습니다. 가장 안전한 격리 수준이며 기본값이지만 가장 낮은 수준의 동시성을 허용합니다.

설명

이 열거형은 트랜잭션을 사용하는 구성 요소에 대한 트랜잭션 격리 수준을 구성하는 데 사용됩니다. 또한 IServiceTransactionConfigBase::IsolationLevel에 매개 변수로 전달되어 구성 요소 없이 트랜잭션 서비스를 사용하기 위한 격리 수준을 구성하는 데도 사용됩니다. 이 메서드는 CoCreateActivity에서 만든 작업을 통해 제출된 작업 또는 CoEnterServiceDomainCoLeaveServiceDomain 호출 사이에 묶인 작업에 대해 CServiceConfig를 통해 호출됩니다.

다운스트림 구성 요소가 업스트림 구성 요소보다 높은 격리 수준으로 구성되고 트랜잭션에 참여하려고 하면 오류 결과와 트랜잭션이 중단됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 comadmin.h

추가 정보

CoCreateActivity

CoEnterServiceDomain

트랜잭션 격리 수준 구성