5

Como tengo varios recursos no relacionados para coordinar durante la confirmación, me gustaría utilizar la confirmación en dos fases (2PC) en la base de datos SQL de Azure, desde el código de Java (JDBC).¿Azure SQL Database es compatible con la confirmación en dos fases (2PC)?

En SQL Server estándar, se puede hacer un complex install de alguna DLL además de algunas secuencias de comandos para poner a disposición algunos procedimientos almacenados extendidos, con nombres como xp_sqljdbc_xa_init o xp_sqljdbc_xa_prepare, que a su vez el controlador Microsoft JDBC utiliza para proporcionar la semántica XA de inicio/end/prepare/commit. Pero estos procedimientos almacenados extendidos no están disponibles en Azure por lo que puedo ver.

Además, por sí mismo, SQL Server no parece tener ninguna primitiva PREPARE TRANSACTION, y tampoco la encuentro en Azure.

Entonces, ¿cómo se puede hacer 2PC en Azure?

Respuesta

3

No es compatible y en muchos aspectos es incompatible con los beneficios y casos de uso de la computación en la nube. Hay un excellent blog post by Clemens Vasters que recomiendo leer y que presenta la función de bus de servicio como una forma de acomodar los aspectos clave del comportamiento que puede estar buscando.

+0

Gracias. SQL Server es, sin embargo, la única base de datos SQL que conozco que no tiene una instrucción 'PREPARE'. –