| Previous | Next |
| MQ_ERROR_DTC_CONNECT | MQ_ERROR_TRANSACTION_USAGE |
MQ_ERROR_TRANSACTION_IMPORT
Operational meaning
MQ_ERROR_TRANSACTION_IMPORT means transaction propagation/import failed. MSMQ received a transaction reference it could not import into the local transaction manager.
MSMQ supports internal single-queue transactions and coordinated transactions involving MS DTC. When diagnosing this result, queue type, destination locality, receive locality, and ambient transaction propagation constrain which operations are valid.
Transaction identifiers and completion ownership are essential. Two threads attempting to commit, abort, or consume the same locked message can turn a recoverable application bug into duplicate processing.
Where the condition occurs
| Subsystem | MSMQ internal or coordinated transactions and their MS DTC enlistment |
|---|---|
| Relevant condition | transaction type, queue locality, operation order, and enlistment state determine whether the action is legal |
| Code-specific focus | transaction propagation/import failed |
A transport retry is not equivalent to transaction recovery. First determine whether the unit of work committed, aborted, remains in doubt, or never enlisted. The code-specific boundary is transaction propagation/import failed.
Evidence to preserve
- Begin, enlist, send/receive, prepare, commit, and abort timestamps.
- Transaction identifier and whether it is internal, ambient, or dtc-coordinated.
- Queue transactional flag and local/remote placement.
Handling and recovery
Capture propagation tokens and DTC traces; do not substitute a new transaction mid-operation.
Nearby failures
Do not convert the operation to a nontransactional send merely to suppress the HRESULT; that changes delivery and atomicity guarantees. Code-specific condition: transaction propagation/import failed.
Worked example
A dtc-coordinated workflow encounters it. It correlates the MSMQ call with the DTC transaction ID and final outcome before replaying business work.
References
Looking for a different code? Search another status or error code.