0XC0190050

Fix STATUS_ENLISTMENT_NOT_FOUND (0XC0190050) in 5 Minutes

This error pops up when a transaction enlistment goes missing after a crash or reboot. Here's how to clear it fast without nuking your system.

I know this error is infuriating—you're just trying to run a database or a transaction-heavy app, and Windows throws up some cryptic enlistment nonsense. But the fix is actually straightforward, and you don't need to reinstall Windows or nuke your drives.

The Quick Fix: Restart the Kernel Transaction Manager

The enlistment is a record kept by Windows' Kernel Transaction Manager (KTM). When it goes missing, usually after a crash or a forced reboot, the transaction can't be reopened. The fastest way to clear this is to disable and re-enable the KTM service. This wipes out orphaned enlistments without touching your files.

  1. Open an elevated Command Prompt (right-click Command Prompt, choose Run as administrator).
  2. Type the following commands, pressing Enter after each one:
sc config ktm start= disabled
net stop ktm

If the service doesn't stop right away (it can hang), force it:

taskkill /F /IM svchost.exe /FI "SERVICES eq ktm"

Then re-enable it:

sc config ktm start= system
net start ktm

That's it. Restart the application that threw the error, and it should open the transaction fresh.

Why This Works

KTM is a Windows service that tracks transaction enlistments—think of them as bookmarks for pending file operations. When your system crashed mid-transaction, the bookmarks got corrupted or lost. By stopping KTM, you're telling Windows to forget all those stale bookmarks. Starting it again creates a clean slate. This is the same trick that works for the similar STATUS_TRANSACTION_NOT_FOUND (0xC0190001) error, so if you see that one, use the same steps.

One thing to watch: if you have any active distributed transactions (like a SQL Server cluster), stopping KTM might cause those to fail. Do this during a maintenance window if you're on a server.

Less Common Variations

Error Appears After Reboot

If the error shows up every time you boot, it's likely a service or driver is trying to open an enlistment from a previous session. The fix above still works, but you'll need to do it before that service starts. Boot into Safe Mode, run the commands, then reboot normally. That usually clears it for good.

Error on a Specific Drive or Folder

Sometimes the enlistment is tied to a specific volume, like a database file on D:\Data. If you see the error when accessing that path, there's a chance the volume has a pending transaction log. You can clear it with:

fsutil resource setboot /D:\

(Replace D:\ with your drive letter.) This command resets the boot flag on the volume's transaction log. It's safe for NTFS volumes, but don't run it on a drive that's actively used by SQL Server—it could cause a checkpoint failure.

Error in Virtual Machines

If you're running this in a VM, the enlistment might be stuck on the hypervisor side. Restart the VM's integration services (like VMware Tools or Hyper-V Integration Services) before trying the KTM reset. I've seen cases where the VM snapshot caused a stale enlistment, and a full shutdown and start (not a restart) fixed it.

Prevention: Keep Enlistments Clean

The best way to avoid this is to not have orphaned enlistments in the first place. That means:

  • Always shut down properly. Holding the power button during a hang is the biggest culprit. If a program freezes, use Task Manager to kill just that process, not the whole system.
  • Update your storage drivers. Older or buggy drivers can cause the system to lose track of transactions during I/O. Check for updates from your motherboard or laptop manufacturer, not just Windows Update.
  • For SQL Server users: Run regular CHECKPOINT commands in maintenance windows. This flushes transaction logs and reduces the chance of an enlistment going stale.

Also, if you're a developer writing code that uses the Windows Transaction Manager (yes, it's still a thing), make sure you're closing transactions in a finally block. Unclosed transactions are like unclosed files—they just sit there until the OS cleans them up, which might not happen before the error.

The KTM reset is your go-to for this error, and it's worked for me in every case I've seen. If you're still stuck after that, check the Windows Event Log for details—look under Application and System for events with source KTM. But honestly, 95% of the time, the restart does it.

Related Errors in Windows Errors
0XC01A001A Fix STATUS_LOG_RECORDS_RESERVED_INVALID (0XC01A001A) 0X8010006C Smart Card PIN Locked? Fix SCARD_W_CHV_BLOCKED (0X8010006C) 0XC00D1245 Fix NS_E_PDA_TRANSCODE_CODEC_NOT_FOUND 0XC00D1245 0X00000227 Fix 0X00000227: Profiling Not Stopped Error on Windows

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.