Microsoft Distributed Transaction Coordinator 사용(ODBC)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
MS DTC를 사용하여 둘 이상의 SQL Server 인스턴스를 업데이트하려면
MS DTC OLE DtcGetTransactionManager 함수를 사용하여 MS DTC에 연결합니다. MS DTC에 대한 자세한 내용은 Microsoft Distributed Transaction Coordinator를 참조하세요.
설정하려는 각 SQL Server 연결에 대해 SQL DriverConnect를 한 번 호출합니다.
MS DTC OLE ITransactionDispenser::BeginTransaction 함수를 호출하여 MS DTC 트랜잭션을 시작하고 해당 트랜잭션을 나타내는 트랜잭션 개체를 가져옵니다.
MS DTC 트랜잭션에 참여하려는 각 ODBC 연결에 대해 SQLSetConnectAttr를 한 번 이상 호출합니다. SQLSetConnectAttr 두 번째 매개 변수는 SQL_ATTR_ENLIST_IN_DTC, 세 번째 매개 변수는 Transaction 개체(3단계에서 가져온)여야 합니다.
업데이트하려는 각 SQL Server에 대해 SQLExecDirect를 한 번 호출합니다.
MS DTC OLE ITransaction::Commit 함수를 호출하여 MS DTC 트랜잭션을 커밋합니다. Transaction 개체가 더 이상 유효하지 않습니다.
일련의 MS DTC 트랜잭션을 수행하려면 3~6단계를 반복합니다.
트랜잭션 개체에 대한 참조를 해제하려면 MS DTC OLE ITransaction::Return 함수를 호출합니다.
MS DTC 트랜잭션과 ODBC 연결을 사용한 다음 로컬 SQL Server 트랜잭션과 동일한 연결을 사용하려면 SQL_DTC_DONE SQLSetConnectAttr를 호출합니다.
참고 항목
또한 4단계와 5단계의 앞부분에서 제안한 대로 호출하는 대신 각 SQL Server에 대해 SQLSetConnectAttr 및 SQLExecDirect를 차례로 호출할 수 있습니다.