Recently a customer was facing Exchange database corruption. Event Viewer:
Event Type: Error
Event Source: ESE
Event Category: Database Corruption
Event ID: 447
Information Store (2864) First Storage Group: A bad page link (error -338) has been detected in a B-Tree (ObjectId: 483242, PgnoRoot: 6816401) of database...
The safest way to solve this error was to create a new DB and then perform a mailbox move to prevent the use of eseutil /p which would probably result in some data loss. Troubleshooting steps:
1. Dismount DB
2. eseutil /mh: DB in Clean Shutdown status
3. Make offline DB backup
4. Mount DB to check if DB will mount (no problem in this case).
Otherwise I had to use eseutil /p option.
5. Dismount DB
6. eseutil /k returned: 0 Bad Pages
7. eseutil /g returned:
Database is CORRUPTED
Operation terminated with error -1206 (JET_errDatabaseCorrupted)
8. Create new DB and enable Circular Logging
9. Move all mailboxes to new DB and disable Circular Logging