Repairing Exchange mailbox database after a hard shutdown
Microsoft Exchange 2003 databases (Mailbox and Public Folders) refused to mount after a hard shutdown caused by a power cut.
Trying to mount mailbox and public folders stores following error popped up:
An internal processing error has occurred. Try restarting the Exchange System Manager or the Microsoft Exchange Information Store service, or both. Examine the Application Log For events related to this error. The description fields of these events will contain specific error codes and may contain links to Microsoft Knowledgebase articles on troubleshooting this problem.
ID no:C1041724
Exchange System Manager
Application Logs recorded errors:
Source: ESE
Event ID: 465
Type: Error
Description:
Information Store (5216) <mailbox store>: Corruption was detected during soft recovery in logfile C:\Program Files\Exchsrvr\mdbdata\E00.log. The failing checksum record is located at position END. Data not matching the log-file fill pattern first appeared in sector 1165 (0x0000048D). This logfile has been damaged and is unusable.
Source: ESE
Event ID: 455
Type: Error
Description:
Information Store (5216) <mailbox store>: Error -1811 occurred while opening logfile C:\Program Files\Exchsrvr\mdbdata\E0000000.log.
eseutil /mh revealed state of the database:
State: Dirty Shutdown
Log Required: 19816-19816 (0x4d68-0x4d68)
Single log file needs to be replayed. Checking state of E00.log file revealed that it's corrupted - eseutil /ml:
ERROR: Log damaged (unusable). Last Lgpos: (0x4d68,458,16C). Error -501.
Operation terminated with error -501 (JET_errLogFileCorrupt, Log file is corrupt) after 1.0 seconds.
Trying to do a soft recovery with eseutil /R E00 was unsurprisingly failing:
Performing soft recovery...
Operation terminated with error -528 (JET_errMissingLogFile, Current log file missing) after 1.16 seconds.
Next step was to backup all database and log files and run eseutil in repair mode eseutil /p. (This is destructive method therefore proceed with caution!)
eseutil /p did the trick and database was restored to a clean showdown state. After removing old log files, mailbox store mounted successfully.
It this had failed next step would have been restoring Exchange from last night's backup.
Most of this also applies to Exchange Server 2007 and 2010
eseutil.exe - Unable to find the callback library jcb.dll (or one of its dependencies)
Faced this issue while running eseutil.exe in repair mode (eseutil /p) on Microsoft Exchange 2003.
First of all repaired mailbox database:
- Opened command prompt
- Changed folder to C:\Program Files\Exchsrvr\bin\
- run: Eseutil /p D:\EXCH\priv1.edb
Repair was successful. Then tried exactly the same steps for public folder database:
- Opened command prompt
- Changed folder to C:\Program Files\Exchsrvr\bin\
- run: Eseutil /p D:\EXCH\pub1.edb
But repair was failing with errors:
unable to find the callback library jcb.dll (or one of its dependencies). copy in the file and hit OK to retry, or hit Cancel to abort.
Operation terminated with error -2102 (JET_errCallbackNotResolved, A callback function could not be found) after 77.0 seconds.
Solution was to copy jcb.dll to following locations:
D:\EXCH (Exchange Database folder)
C:\WINDOWS\system32
I believe C:\WINDOWS\system32 would have been sufficient.
Connect to server console session via Remote Desktop
Connecting from Windows 7 client to Windows server console session vis Remote Desktop (Terminal Services):
- To connect to Windows Server 2003
mstsc -v:<server_name> /F /console
This allows to connect to session 0 which is physical console session. - To connect to Windows Server 2008
mstsc -v:<server_name> /F /admin
Windows Server 2008 changes to architecture means that session 0 is only used to run services. To connect to a session which normally has keyboard and mouse connected use /admin switch.
Access Denied error trying to add shared printer on SBS 2008
On Windows Small Business Server 2008 (or Windows Vista) you may get above "access denied" error when trying to manually add a new network printer. This happens because of insufficient permissions. To resolve right click on Add Printer and select Run as administrator
- Manage Windows 7 workstations with SBS 2008
- Remove old DHCP server from Windows Server domain
- Free up space on system (C) drive
- Installing Microsoft .NET Framework 3.5 SP1 on Server 2008 R2 - "You must use the Role Management Tool to install or configure Microsoft .NET Framework 3.5 SP1"
- Cannot start SQL Server 2005 - Event ID 17190
- DHCP service keeps crashing with Event ID 1000
- Microsoft IIS 6 - create custom 404 Error Page
- Find out Exchange 2007 / 2010 Version, Service Pack and Update Rollup
- Microsoft Active Directory - Exchange Extension has encountered a problem and needs to close
- Users can’t logon on Terminal Server using mandatory profiles "The filename or extension is too long"