| Anterior | Siguiente |
| XACT_S_SINGLEPHASE | XACT_S_LASTRESOURCEMANAGER |
XACT_S_LOCALLY_OK
Qué significa XACT_S_LOCALLY_OK
XACT_S_LOCALLY_OK corresponde al HRESULT 0x0004D00A. Windows lo describe así: «La transacción local no se ha anulado.».
No debe reducirse a una “falla de MSDTC” genérica: pertenece a resultado final y transición de estado de una transacción coordinada. La pista decisiva es que el estado local sigue siendo aceptable/no abortado; no demuestra por sí solo el outcome global de todos los participantes.
Qué comprobar
- Captura UOW/transaction ID, método que devuelve el código, estado anterior, voto de cada participante, timeout y primer error previo en el intento que devuelve
0x0004D00A. - Correlaciona eventos de aplicación, MSDTC y resource manager con la misma UOW para no mezclar transacciones concurrentes del mismo proceso.
- Comprueba de forma explícita esta condición: el estado local sigue siendo aceptable/no abortado; no demuestra por sí solo el outcome global de todos los participantes.
Tratamiento y recuperación
No repitas commit o abort sobre el mismo objeto a ciegas. Determina primero el resultado ya decidido; si la operación de negocio debe repetirse, inicia una transacción nueva y comprueba antes los efectos externos que MSDTC no puede revertir.
Diferencias con resultados cercanos
La prueba final debe demostrar tanto el resultado de negocio como el outcome de cada recurso enlistado. Un commit local aislado no prueba atomicidad distribuida.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.
