¿Qué significa el código HRESULT 0x8004D081 (XACT_E_CLERKEXISTS)?

 
Anterior Siguiente
XACT_E_CLERKNOTFOUND XACT_E_RECOVERYINPROGRESS

XACT_E_CLERKEXISTS

Qué significa XACT_E_CLERKEXISTS

XACT_E_CLERKEXISTS corresponde al HRESULT 0x8004D081. Windows lo describe así: «El objeto auxiliar del registro de transacciones ya existe.».

Para diagnosticarla conviene pensar en registro duradero y recuperación de transacciones coordinadas después de fallos, no solo en el método que terminó devolviendo el código. En este caso, se intenta crear un clerk cuyo identificador ya está registrado; duplicarlo puede romper la correlación del recovery log.

Qué comprobar

  • Captura UOW, RMID, LSN, archivo/registro de recuperación, clerk implicado, fase de recovery y último registro duradero confirmado en el intento que devuelve 0x8004D081.
  • 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: se intenta crear un clerk cuyo identificador ya está registrado; duplicarlo puede romper la correlación del recovery log.

Tratamiento y recuperación

Protege los datos de recuperación antes de limpiar logs o reinstalar componentes. Restaura la correspondencia entre UOW, LSN, clerk y resource manager, y deja que el recovery protocol determine el outcome antes de reanudar procesamiento normal.

Diferencias con resultados cercanos

Después del cambio, confirma que coordinator y resource managers coinciden en la misma decisión y que no quedan ramas prepared/in-doubt pendientes de recovery.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.