| Previous | Next |
| ERROR_RECOVERY_NOT_NEEDED | ERROR_FILE_IDENTITY_NOT_PERSISTENT |
ERROR_RM_ALREADY_STARTED
A second start request reached an already running resource manager
ERROR_RM_ALREADY_STARTED belongs to the Windows Kernel Transaction Manager transaction-processing model. Starting a transactional resource manager establishes its active state and recovery or log-management context. Windows exposes explicit resource-manager startup operations for TxF, while custom KTM RMs have their own creation, recovery, and notification-registration sequence. A repeated start is different from ERROR_RM_NOT_ACTIVE: the manager is already running.
Inspect service initialization, failover, and retry paths for duplicated ownership. Two processes can both assume they are responsible for the same RM, or a timeout can cause the caller to retry after the first start actually succeeded. Query current state before reissuing startup and make the operation idempotent at the orchestration layer. Do not stop a healthy RM merely to make a duplicate start succeed, because active or in-doubt transactions may depend on it.
What to inspect
- Identify the process or service instance that already owns the RM.
- Check timeout retries where the first start succeeded but its acknowledgement was lost.
- Use state-aware startup logic instead of stop-and-restart as a generic response.
References
- Microsoft: transactional resource manager and log management
- Microsoft: creating and recovering a KTM resource manager
- Microsoft: KTM recovery processing and presumed abort
Looking for a different code? Search another status or error code.