0X000010D9

0X000010D9: Database Read/Write Failure Fix

Database Errors Intermediate 👁 10 views 📅 May 26, 2026

This error pops up when Windows or an app can't read or write to a database file. Usually it's a permissions or corruption issue.

When does this error show up?

You'll see error 0X000010D9 (ERROR_DATABASE_FAILURE) when an application tries to read from or write to a database file and Windows stops it cold. This happens most often with:

  • SQLite databases used by desktop apps (like note-taking tools or accounting software)
  • Microsoft SQL Server databases (MDF/LDF files) after a crash or disk full event
  • Windows Store apps that store local app data in a database file
  • Games that use a local database for save data or configuration

The error shows up as a pop-up or log entry with the exact code 0X000010D9. You might also see "Unable to read from or write to the database" as the message. The app usually closes or hangs right after.

What causes it?

Three things cause this error, and they're easy to mix up. Let me break them down plain and simple.

1. The database file is set to read-only

This is the most common cause. Windows marks the file as read-only after a crash, a permissions change, or even a bad restore from backup. The app can't write to it, so it throws this error.

2. File permissions are wrong

The user account running the app doesn't have Modify or Write access to the database file or the folder it's in. This happens after a Windows update that resets permissions, or after you move the database to a different folder.

3. The database file is corrupted

Power outages, disk errors, or a forced shutdown can corrupt the database file. Windows itself can't read the data, so it reports a database failure. This is the hardest to fix, but it's also less common.

Skip the disk check first here — that's a waste of time. Instead, check permissions and read-only status first. 9 times out of 10, it's one of those.

How to fix it — step by step

  1. Find the database file.

    You need to know which file the app is trying to access. Check the app's error log or its data folder. Common locations:

    • %APPDATA%\AppName\ (for per-user databases)
    • %LOCALAPPDATA%\AppName\ (for local-only databases)
    • Program Files\AppName\ (for shared databases — but apps shouldn't store writable data here)

    The file is usually named something.db, something.sqlite, or something.mdf. If you can't find it, open the app's settings or help section — some apps show the database path.

  2. Check if the file is read-only.

    Right-click the database file and choose Properties. Look at the bottom of the General tab. If the "Read-only" checkbox is ticked, click it to clear the checkmark. Then click Apply and OK.

    After you clear it, wait 5 seconds and reopen Properties to make sure it stayed unchecked. Sometimes Windows reapplies the read-only attribute if the folder itself is set to read-only.

  3. Fix permissions on the file.

    Still in Properties, go to the Security tab. Click the user account that runs the app (usually your Windows username). Look at the Permissions list at the bottom. The Modify and Write boxes should be checked.

    If they're not checked:

    1. Click Edit.
    2. Select your user account again.
    3. Check the Modify box under Allow.
    4. Click Apply, then OK.

    If the user isn't listed at all, click Add, type your username, click Check Names to verify it, then assign Modify permissions.

  4. Check the folder permissions too.

    If the file is fine but the error persists, the folder might be blocking writes. Right-click the folder containing the database file, go to Properties > Security, and make sure your user has Modify permissions on the folder as well.

    After applying, test by creating a new text file in that folder. If Windows blocks it, you've found the problem.

  5. Run a disk check on the volume.

    If permissions and read-only aren't the issue, corruption is the next suspect. Open Command Prompt as Administrator (right-click Start > Command Prompt (Admin) or Windows Terminal (Admin)). Type:

    chkdsk C: /f

    Replace C: with the drive letter where the database lives. Press Enter. You'll be told the volume is in use and asked if you want to schedule a check at the next reboot. Type Y and press Enter. Restart your computer.

    On reboot, Windows will scan the drive and fix file system errors. This can take 15–30 minutes depending on drive size. After it finishes and Windows loads, try running the app again.

  6. Repair or replace the database file.

    If the error still shows up after the disk check, the database file itself is corrupted. This is the last resort. Steps depend on the database type:

    • SQLite databases (.db, .sqlite, .sqlite3): Use the SQLite command-line tool. Open a command prompt and run sqlite3 your_file.db, then type .recover. It'll dump the recoverable data to a new file.
    • SQL Server MDF files: You'll need SQL Server Management Studio (SSMS). Attach the database and run DBCC CHECKDB('YourDBName'). If it reports corruption, you'll need a backup or a specialized repair tool.
    • Application-specific databases: Some apps have a built-in repair function. Check the app's menu or documentation for "Repair Database" or "Reset Database". If not, the only option is to uninstall the app (check "Delete settings") and reinstall it fresh.

    I've seen people waste hours with generic disk repair tools on SQL databases — don't bother. Use the database-specific tool instead.

If it still fails after all this

Two things to check that most guides miss:

  • Antivirus real-time scanning: Some antivirus programs lock database files temporarily while scanning. Add the app's data folder to the antivirus exclusion list. I've seen Bitdefender and McAfee cause this error on SQLite databases.
  • Disk space: If the drive has less than 1 GB free, Windows may refuse to write to databases. Free up space or move the database to a different drive with at least 5 GB free.

If you've done all of this and the error is still there, you're dealing with a bug in the application itself. Contact the app's support team and provide them with the error code 0X000010D9, the database file path, and what you've already tried.

Was this solution helpful?