5

因爲我有幾個不相關的資源可以在提交過程中進行協調,所以我想在Java代碼(JDBC)上使用Azure SQL數據庫上的兩階段提交(2PC)。Azure SQL數據庫是否支持兩階段提交(2PC)?

在標準的SQL Server,你可以做一些DLL的complex install加上一些腳本,使一些可用的擴展存儲過程,與像xp_sqljdbc_xa_initxp_sqljdbc_xa_prepare的名字,這反過來微軟JDBC驅動程序使用,以提供啓動的XA語義/結束/準備/提交。但是,從我所看到的這些擴展存儲過程在Azure上不可用。

此外,SQL Server本身似乎沒有任何PREPARE TRANSACTION基元,並且我在Azure中也找不到它。

那麼怎麼能在Azure上做2PC呢?

回答

3

它不受支持,並且在許多方面與雲計算的優勢和用例不兼容。有一個excellent blog post by Clemens Vasters,我建議閱讀,並介紹了服務總線功能作爲一種方式,以適應您可能正在尋找的行爲的關鍵方面。

+0

謝謝。然而SQL Server是我所知道的唯一一個沒有'PREPARE'語句的SQL數據庫。 –