因为在提交期间我有几个不相关的资源要协调,所以我想在 Azure SQL 数据库上使用 Java 代码 (JDBC) 的两阶段提交 (2PC)。
在标准 SQL Server 上,您可以执行一些 DLL 和一些脚本的复杂安装xp_sqljdbc_xa_init
,以提供一些扩展存储过程,其名称类似于or xp_sqljdbc_xa_prepare
,而 Microsoft JDBC 驱动程序使用这些扩展存储过程来提供 start/end/prepare/ 的 XA 语义犯罪。但据我所知,这些扩展存储过程在 Azure 上不可用。
此外,SQL Server 本身似乎没有任何PREPARE TRANSACTION
原语,我在 Azure 中也找不到。
那么如何在 Azure 上进行 2PC 呢?