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.
Table of Contents
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)
# Stop corruption from spreading
Dismount-Database "Mailbox Database 01" -Confirm:$false
# Verify dismount
Get-MailboxDatabase "Mailbox Database 01" | Select-Object Name, Mountedcd "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."# 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 firstAdvanced 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# 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 RecoveryAverage Response Time: 15 Minutes • 24/7 Emergency Hotline Available
Frequently Asked Questions
Related Exchange Server Errors
Event ID 215: Database Serious Error
Fix critical database I/O failures, page corruption, and storage issues.
Event ID 9519: Database Mount Failed
Resolve database mount failures from dirty shutdown or corruption.
Error 0x80004005 ec=-528: Dirty Shutdown
Fix dirty shutdown states and missing transaction log issues.
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 usMedha 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.