Compartir vía


Usar Microsoft DTC (Coordinador de transacciones distribuidas) (ODBC)

Se aplica a: SQL Server Azure SQL Database Azure SQL Instancia administrada Azure Synapse Analytics Analytics Platform System (PDW)

Para actualizar dos o más instancias de SQL Server mediante MS DTC

  1. Conéctese a MS DTC utilizando la función OLE DtcGetTransactionManager de MS DTC. Para obtener información acerca de MS DTC, vea Microsoft DTC (Coordinador de transacciones distribuidas).

  2. Llame a SQL DriverConnect una vez para cada conexión de SQL Server que desee establecer.

  3. Llame a la función OLE ITransactionDispenser::BeginTransaction de MS DTC para iniciar una transacción MS DTC y obtener un objeto Transaction que represente la transacción.

  4. Llame a SQLSetConnectAttr una vez o más para cada conexión ODBC que quiera dar de alta en la transacción de MS DTC. Es preciso que el segundo parámetro de SQLSetConnectAttr sea SQL_ATTR_ENLIST_IN_DTC y que el tercer parámetro sea un objeto Transaction (obtenido en el paso 3).

  5. Llame una vez a SQLExecDirect para cada servidor SQL Server que quiera actualizar.

  6. Llame a la función OLE ITransaction::Commit de MS DTC para confirmar la transacción MS DTC. El objeto Transaction ya no es válido.

Para realizar una serie de transacciones MS DTC, repita los pasos del 3 al 6.

Para liberar la referencia al objeto Transaction, llame a la función OLE ITransaction::Return de MS DTC.

Para usar una conexión ODBC con una transacción MS DTC y, después, usar la misma conexión con una transacción local de SQL Server, llame a SQLSetConnectAttr con SQL_DTC_DONE.

Nota:

También puede llamar a SQLSetConnectAttr y SQLExecDirect sucesivamente para cada servidor SQL Server en lugar de llamarlos tal y como se sugería anteriormente en los pasos 4 y 5.

Consulte también

Realizar transacciones (ODBC)