exchange-2007-logo.jpgExchange 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.

About the Author

Paul Cunningham

Paul is a former Microsoft MVP for Office Apps and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul no longer writes for Practical365.com.

Comments

  1. Alex Bursik

    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.

  2. Ceez

    Right on target! Fixed my problem.
    Thank you for sharing!

  3. Lee Davies

    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 🙂

Leave a Reply