Condividi tramite


Utilizzare Microsoft Distributed Transaction Coordinator (ODBC).

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

Per aggiornare due o più istanze di SQL Server tramite MS DTC

  1. Connettersi a MS DTC utilizzando la funzione MS DTC OLE DtcGetTransactionManager. Per informazioni su MS DTC, vedere Microsoft Distributed Transaction Coordinator.

  2. Chiamare SQL DriverConnect una volta per ogni connessione di SQL Server che si vuole stabilire.

  3. Chiamare la funzione MS DTC OLE ITransactionDispenser::BeginTransaction per iniziare una transazione MS DTC e ottenere un oggetto Transaction che rappresenta la transazione.

  4. Chiamare SQLSetConnectAttr una o più volte per ogni connessione ODBC che si desidera integrare nella transazione MS DTC. Il secondo parametro SQLSetConnectAttr deve essere SQL_ATTR_ENLIST_IN_DTC mentre il terzo parametro deve essere l'oggetto Transaction, ottenuto nel passaggio 3.

  5. Chiamare SQLExecDirect una volta per ogni computer SQL Server da aggiornare.

  6. Chiamare la funzione MS DTC OLE ITransaction::Commit per eseguire il commit della transazione MS DTC. L'oggetto Transaction non è più valido.

Per eseguire una serie di transazioni MS DTC, ripetere i passaggi da 3 a 6.

Per rilasciare il riferimento all'oggetto Transaction, chiamare la funzione MS DTC OLE ITransaction::Return.

Per usare una connessione ODBC con una transazione MS DTC e quindi usare la stessa connessione con una transazione di SQL Server locale, chiamare SQLSetConnectAttr con SQL_DTC_DONE.

Nota

È inoltre possibile chiamare SQLSetConnectAttr e SQLExecDirect per ogni computer SQL Server anziché come suggerito nei passaggi 4 e 5.

Vedi anche

Esecuzione di transazioni (ODBC)