SqlConnection.EnlistDistributedTransaction(ITransaction) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 트랜잭션에 분산 트랜잭션으로 참여합니다.
public:
void EnlistDistributedTransaction(System::EnterpriseServices::ITransaction ^ transaction);
public void EnlistDistributedTransaction (System.EnterpriseServices.ITransaction transaction);
member this.EnlistDistributedTransaction : System.EnterpriseServices.ITransaction -> unit
Public Sub EnlistDistributedTransaction (transaction As ITransaction)
매개 변수
- transaction
- ITransaction
등록할 기존 ITransaction에 대한 참조입니다.
설명
메서드를 EnlistTransaction 사용하여 분산 트랜잭션에 등록할 수 있습니다. instance 연결을 Transaction 등록하기 때문에 EnlistTransaction은 분산 트랜잭션을 관리하기 위해 네임스페이스에서 사용할 수 있는 System.Transactions 기능을 활용하므로 이 목적을 위해 EnlistDistributedTransaction보다 선호됩니다. 자세한 내용은 분산 트랜잭션을 참조하세요.
자동 인리스트먼트를 사용하지 않도록 설정한 경우 EnlistDistributedTransaction 메서드를 사용하여 기존 분산 트랜잭션에 계속 등록할 수 있습니다. 기존 분산 트랜잭션에 등록하면 트랜잭션이 커밋되거나 롤백되는 경우 데이터 원본의 코드에서 수정한 내용도 커밋되거나 롤백됩니다.
EnlistDistributedTransaction
는 를 사용하여 BeginTransaction트랜잭션을 SqlConnection 이미 시작한 경우 예외를 반환합니다. 그러나 트랜잭션이 데이터 원본에서 시작된 로컬 트랜잭션인 경우(예: 개체를 사용하여 SqlCommand BEGIN TRANSACTION 문을 명시적으로 실행) EnlistDistributedTransaction 은 로컬 트랜잭션을 롤백하고 요청된 대로 기존 분산 트랜잭션에 참여합니다. 로컬 트랜잭션이 롤백되었다는 알림을 받지 못하며 를 사용하여 BeginTransaction시작되지 않은 로컬 트랜잭션을 관리할 책임이 있습니다.
적용 대상
추가 정보
.NET