共用方式為


使用Microsoft分散式交易協調器 (ODBC)

適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)

使用 MS DTC 更新兩個或多個 SQL Server 實例

  1. 使用 MS DTC OLE DtcGetTransactionManager 函式連線到 MS DTC。 如需 MS DTC 的相關信息,請參閱Microsoft分散式交易協調器。

  2. 針對您想要建立的每個 SQL Server 連線呼叫 SQL DriverConnect 一次。

  3. 呼叫 MS DTC OLE ITransactionDispenser::BeginTransaction 函式來開始 MS DTC 交易,並取得代表交易的 Transaction 物件。

  4. 針對您想要在 MS DTC 交易中登記的每個 ODBC 連線呼叫 SQLSetConnectAttr 一或多次。 SQLSetConnectAttr 第二個參數必須是SQL_ATTR_ENLIST_IN_DTC且第三個參數必須是 Transaction 物件(在步驟 3 中取得)。

  5. 針對您想要更新的每個 SQL Server 呼叫 SQLExecDirect 一次。

  6. 呼叫 MS DTC OLE ITransaction::Commit 函式來認可 MS DTC 交易。 Transaction 物件不再有效。

若要執行一系列的 MS DTC 交易,請重複步驟 3 到 6。

若要釋放 Transaction 對象的參考,請呼叫 MS DTC OLE ITransaction::Return 函式。

若要搭配 MS DTC 交易使用 ODBC 連線,然後使用與本機 SQL Server 交易相同的連線,請使用 SQL_DTC_DONE 呼叫 SQLSetConnectAttr

注意

您也可以針對每個 SQL Server 輪流呼叫 SQLSetConnectAttr 和 SQLExecDirect,而不是如步驟 4 和 5 稍早建議呼叫它們。

另請參閱

執行交易 (ODBC)