process name (process id) valueUnable to rollback operation #name on database error code. Error: %6. All future database updates will be rejected.

Details
Product: Exchange
Event ID: 471
Source: ESE
Version: 6.5.0000.0
Message: process name (process id) valueUnable to rollback operation #name on database error code. Error: %6. All future database updates will be rejected.
   
Explanation

Unable to roll back operation on database [database name]: all future database

updates will be rejected.

Nothing in this database can be updated until this situation is resolved.

The cause depends on the Error number in the Description section of the

Event. The most common error codes for Event 471 are listed below.

  • Error -510 = 0xfffffe02 = 4294966786 = JET_errLogWriteFail = Failure when

    writing to log file. This error has both been seen in the Description of

    Event 104 and has been more commonly seen with an associated event. Error -510 can be caused by permissions issues, space issues, SAN issues, and other issues

    affecting reads/writes to the disks.

  • Error -1022 = 0xfffffc02 =

    4294966274 = JET_errDiskIO = Disk IO error. The -1022 error is a generic

    error that appears whenever a disk input/output (I/O) problem prevents

    Exchange from gaining access to a requested page in the database or to a check

    file. A disk or controller failure may have occurred, and access to the

    entire drive has been lost, sometimes temporarily. The controller software or

    firmware may be out of date. Check the System Log for I/O or drive errors near

    the time of the 471 Event.

  • Error -614 = 0xfffffd9a = JET_errCheckpointDepthTooDeep = Checkpoint depth

    is approaching 1024 generations. Before Exchange 2000 SP3, the

    checkpoint had a maximum depth of 256 log files. In other words, there
    was a maximum of 256 logs that could not be outstanding and uncommitted to the

    store at any one time. When the checkpoint became greater than

    256 generations, the Jet engine got confused and advanced the checkpoint

    erroneously. What this meant was that if the database subsequently crashed,

    ESE would end up starting recovery from the wrong log generation and miss replaying operations

    (unless you deleted the checkpoint file). Beginning with Exchange 200 SP3,

    the maximum depth of the checkpoint has been increased from 256 generations to

    1024 generations. When the checkpoint approaches 1024, ESE Event ID 471

    is reported and ESE generates Error -614 = JET_errCheckpointDepthTooDeep and

    the database dismounts.

   
User Action

For Error – 510, investigate the root cause of permissions issues,

space issues, and other issues affecting reads/writes to the disks.

For Error -1022, check to make sure the drive for the information store

files is accessible and that the path for the information store files is

specified correctly. If it is, run chkdsk /f /r. If chkdsk does not resolve the issue, examine the permissions on the

Exchsrvr folder structure. Make sure that SYSTEM has full control of Exchsrvr

and all subfolders on each partition that contains Exchange data. If you still

cannot mount the databases, troubleshoot any Windows NT file-level antivirus

software running on the Exchange server. Check the System Log for I/O or drive errors near the time of the 471 Event.

For Error -614, erroring out before you actually reach 1024 generations means

that you can safely run recovery starting from the checkpoint, since it

has not erroneously advanced. However, you should also ensure that you have

identified the cause of the error in the first place. It is typically a hung

backup, which should be easy to diagnose, or a long-running transaction, which

may be less obvious.

Related:

Leave a Reply