| Previous | Next |
| COMQC_E_UNTRUSTED_ENQUEUER | COMADMIN_E_OBJECT_PARENT_MISSING |
MSDTC_E_DUPLICATE_RESOURCE
Investigate duplicate Microsoft Distributed Transaction Coordinator resource at the first returning call, before a wrapper substitutes a generic message. MSDTC was asked to create or register a resource identity that already exists in the transaction-coordinator context. The collision normally concerns resource-manager identity or recovery metadata, not an ordinary duplicate database row.
Read the status in context
A duplicate DTC resource differs from a transaction already enlisted: one is resource identity/configuration, the other is the lifecycle of a particular transaction branch. Keep MSDTC_E_DUPLICATE_RESOURCE, its numeric value, and the first returning operation together.
Diagnostic facts
| Capture | Diagnostic value |
|---|---|
| Resource-manager name/GUID, process identity, DTC instance, transaction unit of work, and enlistment type. | Identifies the concrete object and operation associated with duplicate Microsoft Distributed Transaction Coordinator resource. |
| First successful registration and the second failing registration with timestamps and recovery keys redacted. | Separates argument or lifecycle state from a lower-layer provider failure. |
| Clustered versus local MSDTC instance and whether both nodes share the same resource-manager configuration. | Creates a stable before-and-after comparison. |
| Service restart, failover, or deployment event that may have replayed durable registration. | Shows whether this condition is the first result or a translated summary. |
Preserve clustered versus local MSDTC instance and whether both nodes share the same resource-manager configuration before reinstalling, rebooting, clearing state, or substituting another device or provider.
Verification path
- Start one resource manager and prove a single registration before enabling a second process instance. Treat a changed result as a separate failure rather than automatic resolution.
- Assign a distinct test resource identity while keeping the same DTC instance and transaction workload. Repeat the original supported operation so the check remains tied to the same API boundary.
- Inspect recovery after a controlled restart to determine whether stale durable metadata recreates the collision. Keep unrelated inputs fixed so the changed result remains attributable to the tested variable.
Closing the incident
Targeted correction. Ensure each durable resource manager has one stable unique identity, stop concurrent duplicate instances, and clean stale recovery registration only through the owning product or documented DTC administration path.
Acceptance criterion. One resource-manager identity registers once, recovery survives restart, and failover does not create a second resource with the same durable identity.
Technical references
References for MSDTC_E_DUPLICATE_RESOURCE on the deployed platform version.
- Microsoft Open Specifications: HRESULT values — defines the status namespace used.
- Microsoft: HRESULT facility extraction — documents the API or lifecycle behind this condition.
- Microsoft: DTC programming model — provides ABI, implementation, or protocol context.
- Microsoft: resource managers and transactions — supports the portability and verification limits.
Looking for a different code? Search another status or error code.