Exchange Server 2007 Edge Transport server and Hub Transport servers with the Exchange Anti-spam features installed may report event ID 454 and 17003 if the Sender Reputation database becomes corrupt.
The Sender Reputation feature of Exchange Server 2007 is described here:
Sender Reputation is anti-spam functionality that is enabled on computers that have the Microsoft Exchange Server 2007 Edge Transport server role installed to block messages according to many characteristics of the sender. Sender reputation relies on persisted data about the sender to determine what action, if any, to take on an inbound message.
If the Sender Reputation database becomes corrupt you may find the Microsoft Exchange Transport service has stopped and the Application Event Log contains the following sequence of events.
Event Type: Error
Event Source: ESE
Event Category: Logging/Recovery
Event ID: 454
Date: 28/02/2008
Time: 9:32:20 AM
User: N/A
Computer: SERVER
Description:
edgetransport (4568) Sender Reputation Database: Database recovery/restore failed with unexpected error -515.
Event Type: Error
Event Source: MSExchangeTransport
Event Category: Storage
Event ID: 17003
Date: 28/02/2008
Time: 9:32:20 AM
User: N/A
Computer: SERVER
Description:
Sender Reputation Database: An operation has encountered a fatal error. The database may be corrupted. The Microsoft Exchange Transport service is shutting down. Manual database recovery or repair may be required. Exception details: Microsoft.Exchange.Isam.IsamInvalidLogSequenceException: Timestamp in next log does not match expected (-515)
at Microsoft.Exchange.Isam.?A0x051b51e0.HandleError(Int32 err)
at Microsoft.Exchange.Isam.Interop.MJetInit(MJET_INSTANCE instance)
at Microsoft.Exchange.Transport.Storage.DataSource.InitInstance()
Event Type: Information
Event Source: MSExchangeTransport
Event Category: Components
Event ID: 7001
Date: 28/02/2008
Time: 9:32:20 AM
User: N/A
Computer: SERVER
Description:
The service will be stopped. Reason: A failure occurred in a transport database operation.
The Sender Reputation database is located in C:Program FilesMicrosoftExchange ServerTransportRolesdataSenderReputation (if you have installed Exchange to the default location). The database file is the pasettings.edb file, a JET database, and as such you can use ESEUtil.exe to attempt repair or recovery.
An integrity check is usually the first thing to run:
[PS] C:\>eseutil /g "C:Program FilesMicrosoft ExchangeServerTransportRolesdata SenderReputationpasettings.edb" Extensible Storage Engine Utilities for Microsoft(R)Exchange Server Version 08.01 Copyright (C) Microsoft Corporation. All Rights Reserved. Initiating INTEGRITY mode... Database: C:Program FilesMicrosoftExchange ServerTransportRolesdataSenderReputation pasettings.edb Temp. Database: TEMPINTEG6436.EDB Checking database integrity. The database is not up-to-date. This operation may find that this database is corrupt because data from the logfiles has yet to be placed in the database. To ensure the database is up-to-date please use the 'Recovery' operation.
You can attempt a recovery of the database:
[PS] C:Program FilesMicrosoftExchange Server TransportRolesdataSenderReputation>eseutil /r /a trn Extensible Storage Engine Utilities for Microsoft(R)Exchange Server Version 08.01 Copyright (C) Microsoft Corporation. All Rights Reserved. Initiating RECOVERY mode... Logfile base name: trn Log files: System files: Performing soft recovery... Restore Status (% complete) 0 10 20 30 40 50 60 70 80 90 100 |----|----|----|----|----|----|----|----|----|----| Operation terminated with error -566 (JET_errDbTimeTooOld, dbtime on page smaller than dbtimeBefore in record) after0.281 seconds.
If the recovery fails a repair can be attempted:
[PS] C:Program FilesMicrosoftExchange Server TransportRolesdata SenderReputation>eseutil /p pasettings.edb Extensible Storage Engine Utilities for Microsoft(R)Exchange Server Version 08.01 Copyright (C) Microsoft Corporation. All Rights Reserved. Initiating REPAIR mode... Database: pasettings.edb Temp. Database: TEMPREPAIR1968.EDB Checking database integrity. The database is not up-to-date. This operation may find that this database is corrupt because data from the logfiles has yet to be placed in the database. To ensure the database is up-to-date please use the 'Recovery' operation. 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_wrnDatabase Repaired, Database corruption has been repaired) after 7.656 seconds.
Though this may report success, and further integrity checks show the database to be healthy, you may still find the Microsoft Exchange Transport service will not start. In these cases you can delete the files in C:Program FilesMicrosoftExchange ServerTransportRolesdataSenderReputation. When the Microsoft Exchange Transport service is next started it will build a new Sender Reputation database.
Thanks for all your advice Paul – deleted the files and the transport service stayed up and running perfectly. One of my clients is still running an SBS 2011 Server – hopefully he’ll get an upgrade soon.
Right on target! Fixed my problem.
Thank you for sharing!
This problem/solution also applies to Exchange 2010 in both normal & SBS installations. So far in each case I’ve seem the deleting the files in the “C:Program FilesMicrosoftExchange ServerTransportRolesdataSenderReputation” directory proved to the best solution and simply restarting the Microsoft Exchange Transport Service.
Thanks for the good work 🙂