ESE:Logging/Recovery EventID: 454

So we had this issue today on an Exchange 2000 SP3 Public Folder Server

When we tried to mount a database it logged this in the Application Eventlog

Event Type: Error
Event Source: ESE
Event Category: Logging/Recovery
Event ID: 454
Information Store (2892) Database recovery/restore failed with unexpected error -566.

On further investifation the -566 ( this means:
Under Exchange 2000 and later versions, each log record has a before and after timestamp that is named DBTIME. When a transaction is scheduled to be written into a page in the database, if the DBTIME timestamp value in the log record is higher than the DBTIME timestamp value on the page, ESE 98 logs the following error in the application event log:
JET_errDbTimeTooOld (-566)

Dumping the database header showed: “State: Dirty Shutdown

Dumping the edb header is said: Log Required: 784049-785058, so we then moved all the log files that the database said it needed and ran an Eseutil /r we saw this:

Microsoft(R) Exchange Server(TM) Database Utilities
Version 6.0
Copyright (C) Microsoft Corporation 1991-2000.  All Rights Reserved.

Initiating RECOVERY mode…
    Logfile base name: e01
            Log files: e:
         System files: e:

Performing soft recovery…

Operation terminated with error -566 (JET_errDbTimeTooOld, dbtime on page smalle
r than dbtimeBefore in record) after 5.16 seconds.

An eseutil /k e01 didn’t work for checking log files, so we copied eseutil.exe and ese.dll from an Exchange 2003 server and ran it again.  This showed that No damaged log files were found.”

So we dropped some older log files into the log and ran an eseutil /r and it worked :-|, so  the “Log Required” value on the database was wrong!

One the eseutil /r was finished the database reported “State: Clean Shutdown” and it mounted.  It took just over 4hr to work this ;-)

.. Thanks Will & Vanda for you help