Fixing Exchange -4001 JET_errFileIOBeyondEOF

Although I still do not know the source of this error (essentially my exchange store stopped being able to mount) the fix was rather obvious. Searching the web did not help though. Microsoft said it was a problem in Exchange 2003 SP1 and Googling showed me many people who gave up and restored their last backup (which of course would be the best solution).

ESEUTIL by itself kept throwing the same JET_errFileIOBeyondEOF error except for eseutil /k "C:\Program Files\Exchsrvr\MDBDATA\priv.1.edb" This showed that my .edb data was fine but it stopped at the .stm file.

Microsoft(R) Exchange Server Database Utilities
Version 6.5
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating CHECKSUM mode...
Database: C:\Program Files\Exchsrvr\MDBDATA\priv1.edb
Streaming File: C:\Program Files\Exchsrvr\MDBDATA\priv1.STM
Temp. Database: TEMPCHKSUM5352.EDB


File: C:\Program Files\Exchsrvr\MDBDATA\priv1.edb

Checksum Status (% complete)

0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................


29186 pages seen
0 bad checksums
0 correctable checksums
316 uninitialized pages
0 wrong page numbers
0x42c067 highest dbtime (pgno 0xd4)

1825 reads performed
114 MB read
2 seconds taken
57 MB/second
1809651 milliseconds used
991 milliseconds per read
1516 milliseconds for the slowest read
63 milliseconds for the fastest read

File: C:\Program Files\Exchsrvr\MDBDATA\priv1.STM



So I simply deleted my .stm file and rebuilt it with C:\Program Files\Exchsrvr\bin>eseutil /p /createstm "C:\Program Files\Exchsrvr\MDBDATA\priv1.edb". Voila, it worked and I could mount my Exchange Store! CAUTION: there may be user information in this file. If your users are all Outlook clients it is probably not much used but if your users are IMAP/POP3 users then they may have a lot of information there which will be lost. Q555146. Always make a backup of any file that you are recreating.

Microsoft(R) Exchange Server Database Utilities
Version 6.5
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating REPAIR mode...
Database: C:\Program Files\Exchsrvr\MDBDATA\priv1.edb
Streaming File: C:\Program Files\Exchsrvr\MDBDATA\priv1.STM
Temp. Database: TEMPREPAIR4596.EDB

Checking database integrity.

Scanning Status (% complete)

0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................


Scanning the database.

Scanning Status (% complete)

0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................


Repairing damaged tables.

Scanning Status (% complete)

0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
.........................
Deleting unicode fixup table.
..........................


Repair completed. Database corruption has been repaired!

Note:
It is recommended that you immediately perform a full backup
of this database. If you restore a backup made before the
repair, the database will be rolled back to the state
it was in at the time of that backup.

Operation completed successfully with 595 (JET_wrnDatabaseRepaired, Database cor
ruption has been repaired) after 116.391 seconds.

Below are some additional links to Microsoft support write-ups.
Q313184
Q555146

Booting from a Windows 2003 raid partition

The software raid solutions of Windows 2003 is designed to only allow access to your mirrored data. For example you can install the mirrored disk into another working system to access the folders. It is not designed to be a bootable recovery solution in case the primary disk fails. Simply taking the good working drive and trying to boot from it will fail. You should be able to boot from a boot disk but not boot the mirrored drive itself.

The first most likely problem is that the mirrored drive does not have a MBR. This can be fixed using your Windows Server CD and booting to the recovery console. There you can use the FIXMBR command to write a Master Boot Record to your mirrored drive. Using the Recovery Console will also verify if the mirrored drive has a working system as it will show up as a Windows installation and you will be asked for your Windows Admin password to get access to the console.

You also might not have a proper boot.ini file. You can check this using the recovery console's bootcfg command. For me it worked but I would not rely on this in an emergency. I had simply wanted to move my Windows 2003 installation to a bigger disk so I always had a good backup to fall back on. Normally I would use Acronis workstation to clone my drive but for some reason it would just restart (when booting from the CDROM) everytime I tried to clone my Windows Server's dynamic disk partition.

NOTE: If you are tying to simply duplicate your drive, be sure to not break the mirror with both drives connected. If you do so then one of the drives will receive a new drive letter and probably not be able to boot with it. You should always break the mirror with one of the drives already removed.

MacOSX online help can be dangerous

Usually, using a software package's help system is pretty safe. You can normally rest assured that your work is safe and untouched while you browse different help options. However with MacOSX, some of the help subjects under the main menu launch the menuitem you are researching. This means that if you have a bunch of text selected in Pages and search for how to do a Table of Contents, the first item that shows up will actually insert a Table of Contents where the text selection is... essentially overwriting your text if you are not careful.

Fortunately, these autostart items are marked "Menu Items" in their heading to give you a hint that they are not in fact help text.

Swiss bookstore making big margin

Passing by a local Payot book store in Geneva I was about to purchase a paperback from the States when I took a second look at the price tag. An 8 USD book was selling for 15.80CHF. I remember in the past when the dollar was worth more that this was a common price but now that the dollar has dropped so much in value I was wondering where my savings was with this imported book. Seeing that I was paying almost twice the value of the book I finally put it back and called a friend in the States to order it for me. Even with shipping to Switzerland it would be cheaper than buying it at Payot.