Event IDs 233, 107, 474

Event IDs 233, 107, 474: Database Corruption - Fix Guide 2025

Complete troubleshooting guide for Exchange database corruption events 233, 107, and 474. Fix JET database errors, page-level corruption, and B-tree failures with step-by-step ESEUTIL repair solutions.

Medha Cloud
Medha Cloud Exchange Server Team
Exchange Database Recovery Team8 min read

Table of Contents

Reading Progress
0 of 9

Seeing Event IDs 233, 107, or 474 in Exchange Server logs? These critical errors indicate JET database engine corruption requiring immediate action to prevent data loss.

Our Exchange Database Corruption Recovery Services team has resolved hundreds of severe corruption scenarios using advanced ESEUTIL techniques and specialized recovery tools. This guide provides proven step-by-step solutions to diagnose corruption extent, repair databases safely, and prevent recurrence.

📌 Version Compatibility: This guide applies to Exchange Server 2016, Exchange Server 2019, Exchange Server 2022 (SE). Commands may differ for other versions.

Error Overview

Error Messages (Event Viewer)

Event ID: 233
MSExchangeIS: Database page read verification failed.
Error: -1018, Page: 42856, Database: Mailbox Database 01

Event ID: 107
MSExchangeIS: Internal database consistency error.
Error: -1605 (JET_errKeyDuplicate), Database: Mailbox Database 01

Event ID: 474
MSExchangeIS: Database cannot be mounted due to missing log files.
Error: -528 (JET_errMissingLogFile), Required logs: E0000042-E0000055

💡 Pro Tip: These three events often appear together during corruption scenarios. Event 474 (missing logs) can trigger on mount attempts after Event 233 (page corruption) dismounts the database. Always check all three event IDs in sequence to understand the full corruption timeline and identify root cause.

Quick Fix: Assess Corruption Extent (15 Minutes)

Step 1: Dismount Database Immediately
# Stop corruption from spreading
Dismount-Database "Mailbox Database 01" -Confirm:$false

# Verify dismount
Get-MailboxDatabase "Mailbox Database 01" | Select-Object Name, Mounted
Step 2: Check Database State and Run Integrity Check
cd "D:\ExchangeDBs\DB01"

# Check database header for state
ESEUTIL /MH DB01.edb | Select-String "State|Last"

# Run full integrity check (10-60 min depending on size)-60 min depending on size)
ESEUTIL /K DB01.edb

# If corruption found, output shows:
# "Corruption detected at page XXXXX"
# "Database corruption detected. ESEUTIL /P required."
Step 3: Check Hardware for Root Cause
# Check System log for disk errors
Get-EventLog -LogName System -After (Get-Date).AddHours(-24) |
    Where-Object { $_.EventID -in @(7,11,15,153) -and $_.EntryType -eq "Error" } |
    Format-Table TimeGenerated, EventID, Message -AutoSize

# If hardware errors found, do NOT repair yet - replace hardware first

Advanced Troubleshooting

🛑 CRITICAL: Read Before Repair

ESEUTIL /P causes permanent data loss. It discards corrupted pages to make database mountable. Only use when: ✓ No viable backup exists ✓ Full backup taken of corrupt database ✓ Hardware issues resolved ✓ Stakeholders informed of data loss risk

Start Emergency Database Recovery
ESEUTIL Repair Sequence (Last Resort)
# 1. Backup corrupt database
Copy-Item "D:\ExchangeDBs\DB01\DB01.edb" \
    -Destination "D:\Backup\DB01-corrupt-$(Get-Date -Format yyyyMMdd).edb"Get-Date -Format yyyyMMdd).edb"

# 2. Stop Exchange services
Stop-Service MSExchangeIS -Force

# 3. Run hard repair (1-6 hours)1-6 hours)
cd "D:\ExchangeDBs\DB01"
ESEUTIL /P DB01.edb

# 4. Run defragmentation
ESEUTIL /D DB01.edb

# 5. Verify state
ESEUTIL /MH DB01.edb | Select-String "State"

# 6. Start services and mount
Start-Service MSExchangeIS
Start-Sleep -Seconds 30
Mount-Database "Mailbox Database 01"

# 7. Run logical repair
Get-Mailbox -Database "Mailbox Database 01" | ForEach-Object {
    New-MailboxRepairRequest -Mailbox $_.Alias \
        -CorruptionType ProvisionedFolder,SearchFolder,AggregateCounts,Folderview
}

Prevention

  • Monitor SMART Status Weekly: Check disk health proactively before failures occur
  • Use Enterprise Storage: Consumer drives lack error correction for 24/7 operation
  • Implement UPS Protection: Prevent corruption from sudden power loss
  • Daily VSS Backups: Maintain recent backups for corruption recovery
  • Exclude from Antivirus: AV real-time scanning causes file locking issues

When to Escalate: Stop Troubleshooting

Database Won't Mount After Repair?

If ESEUTIL /P fails or database still won't mount after repair, corruption is too severe for standard tools. Our team uses specialized hex-level recovery and advanced database extraction techniques to recover mailboxes from unmountable databases.

Start Advanced Corruption Recovery

Average Response Time: 15 Minutes • 24/7 Emergency Hotline Available

Frequently Asked Questions

These three events all indicate JET database engine errors related to corruption: Event 233 reports database page corruption detected during read operations, Event 107 indicates internal database consistency errors (B-tree structure problems), and Event 474 signals missing or inaccessible transaction logs required for recovery. All three require ESEUTIL database integrity checks and potential repair.

Can't Resolve Event IDs 233, 107, 474?

Exchange errors can cause data loss or extended downtime. Our specialists are available 24/7 to help.

Emergency help - Chat with us
Medha Cloud

Medha Cloud Exchange Server Team

Microsoft Exchange Specialists

Our Exchange Server specialists have 15+ years of combined experience managing enterprise email environments. We provide 24/7 support, emergency troubleshooting, and ongoing administration for businesses worldwide.

15+ Years ExperienceMicrosoft Certified99.7% Success Rate24/7 Support