因为我在提交期间有几个不相关的资源需要协调,所以我想在Azure SQL数据库中使用Java代码(JDBC)进行两阶段提交(2PC)。
在标准SQL Server上,您可以执行某些DLL的complex install以及一些脚本,以使某些扩展存储过程可用,其名称为xp_sqljdbc_xa_init
或xp_sqljdbc_xa_prepare
,而Microsoft JDBC驱动程序用于提供start / end / prepare / commit的XA语义。但是从我看到的这些扩展存储过程在Azure上是不可用的。
此外,SQL Server本身似乎没有任何PREPARE TRANSACTION
原语,我也没有在Azure中找到它。
那么怎样才能在Azure上做2PC?
答案 0 :(得分:3)
它不受支持,并且在许多方面与云计算的优势和用例不兼容。我建议阅读excellent blog post by Clemens Vasters,并介绍服务总线功能,以适应您可能正在寻找的行为的关键方面。