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数据库。 –