Monday, 19 May 2014
5/19/2014 11:04:00 pm 0

How to resolve Exchange ESE event 476 error code 1018?

EDB database is the core of Exchange Information store. It consists of storage groups that contain the Mailbox Store and a Public Folder Store.   The data within Mailbox Store and a Public Folder Store are stored in files with .edb extension.  Like other data files, the EDB file can get corrupted due to any of the reasons such as: virus attack, server shutdown, operating system crash, accidental Exchange Server shutdown and system hardware failure or malfunctioning

Exchange database corruption can be of three types:

•    page level (file system) corruption
•    database level (JET database engine) corruption
•    and Application level (Exchange information store) corruption

What is Exchange ESE event 476?

ESE event 476 occurs when the page contains no data or there is some checksum error on a database page. Generally, ESE event 476 indicates two errors: Error -1019 & Error -1018.
The ESE event 476: 

Error -1018 = 0xfffffc06 = JET_errReadVerifyFailure = Checksum error on a database page.
Error -1019 = 0xfffffc05 = JET_errPageNotInitialized = Blank database page.

Error -1018: It indicates Checksum error on a database page.

Error -1019: It indicates that an invalid page number (usually all zeros) has been returned by the accessed page. It occurs in when a read attempt is made on a Blank database page or if it’s uninitialized. The Error -1019 can also occur if the logical link between the pages isn’t valid.
Note:  if a page with page number 0x00000000 generates some Checksum error, then a -1019 error is shown instead of a -1018 error. The error -1019 may remain undetected for a longer time in case of online backup.

What is Exchange ESE Error 1018?

1018 is a Read Verify Error. It indicates file level / page level corruption in the Exchange database. The error 1018 occurs if there is some page inconsistency in Exchange Mailbox Store.  If a particular page from the database couldn’t be verified then this error will be prompted. This error usually occurs while full backup of exchange is taken.

What causes Exchange ESE Error 1018?

ESE engine plays a vital role in handling the database operations in Exchange. When a page is requested the ESE engine search it in database. Compare the page number and the page checksum with the page header information. It then checks that the page returned in response to the particular request is correct or not and also checks its checksum for validity. 

The error 1018 occurs if:

•    When the edb database is written on a disk then a checksum values is calculated for that. The calculated value must be same as the checksum value in the header of edb file. If these two values don’t match then error 1018 occurs. If Exchange constructs a page that has the wrong checksum then this error can occur.
•    If there is some problem with the NTFS file system then also error 1018 may occur.
•    Or other condition when the above error can occur is if operating system doesn’t write the data in the hard disk at correct location. This can happen due to a hard drive or RAM issue.
•    External issues such as: hardware diagnostics, issues with firmware or drivers can also cause the error 1018.

How to resolve error 1018?

The primitive step to resolve error 1018 is checking whether the server hardware is working fine or not. Also check its load handling capability. To do so you need to perform extensive tests given by the hardware manufacturers for the hardware, firmware, raid controller and driver. 

Methods for resolution of error 1018:

•    Restore database from recent backup
•    Run Esefile utility
•    Repair the exchange database using inbuilt repair utilities
•    Data relocation

Method 1: 

Restore the database from an online backup.

Method 2

Run Esefile utility

Esefile utility: This utility is used to copy files and test checksum. It scans every page in the database in offline mode. It can detect the page level errors. This kind of errors generally occurs due to firmware, hardware issues or other problems in Exchange.

The command line for the Esefile utility is:
esefile [/c source destination] [/x file] [/s file] [/d file page number]

If incorrect switches are used with the Esefile utility then it can cause data corruption or may lead to data loss situations. 

Method 3: 

Repair the exchange database using inbuilt repair utilities

Note: If your Exchange database is corrupt then first you should try to restore it from backup and replay the logs to restore the data back to previous healthy state. If this doesn’t work then only go for database repair using the inbuilt repair utilities.

Before running the commands, you must create a copy of the original database. So that if any trouble occurs while executing the commands, you can restore your data back from the copy. 

How to repair the database using inbuilt repair utilities?

•    Step1: Use the Eseutil.exe /P switch to repair the database (hard recovery).
•    Step2: Use the Eseutil.exe /D switch to do an offline defragmentation of the database.
•    Step3: Use Isinteg to check the state of database.
•    Step4: run eseutil /mh

Step1: Use the Eseutil.exe /P switch to repair the database:

Eseutil.exe can detect and repair errors at page level and the database level.

Eseutil.exe /P switch: Eseutil/p command is used to resolve the page level issues in Exchange database. It repairs the problem database. It removes the bad pages from the database thus it can cause some data loss.
Eseutil/P [Exchange mailbox Store name]

Leaf Page: This page in a database contains the actual data.
Interior Page: This page contains the structural and logical information in the database.

While you use Eseutil/p command on a corrupt database it doesn’t repair the bad pages, it only discards them and remove from database. If the leaf page is a bad page, then it will be discarded thus it will cause data loss Eseutil is capable of resolving minor issues in interior pages, but if the damage to the system tables and pages is severe then it may fail to perform efficient recovery .

Step2: Use the Eseutil.exe /D switch to do an offline defragmentation of the database:

Eseutil.exe /D switch: The Eseutil.exe /P command discards the bad pages from the database that leads to empty pages/white spaces in the database. After completion of the Eseutil.exe /P command, Eseutil.exe /D is run to perform the Offline defragmentation of database i.e. to eliminate the empty pages from the data base.
Eseutil/D [Exchange mailbox Store name]

Step3: Use Isinteg to check the state of database

Isinteg utility: it can detect and repair errors at application level. Database and application level errors generally occur due to some problem the exchange codes or third party applications installed.
Isinteg -S [Server name] -FIX -TEST ALLTESTS

It is used to perform correction in the database indices sequence that was disturbed after the repair and defragmentation of the database done using Esefile.exe & Eseutil.exe utilities.
Keep executing the Isinteg command repeatedly till Exchange Server stops showing errors.

Step4: run eseutil /mh
Finally, run eseutil /mh to check the database status and then mount it.

If Eseutil.exe fails to troubleshoot the problem then follow the given steps:

•    Restart Exchange information store and directory services:
o    Open Control Panel
o    Go to Services> Microsoft Exchange Directory>Stop. Then click OK to stop the information store service and other additional services.
o    Click and start Microsoft Exchange Directory
o    Restart the exchange services.
•    Verify the hard disks integrity by running the Chkdsk.exe.
•    uncompress the NTFS file system drive that contains the Exchsrvr folder
•    If you have write-back caching enabled on your system SCSI hard disk controller  then, You must ensure that the cache is Non-volatile
•    If some programs might be interrupting Exchange Server then temporary disable them and see if it resolves the issue. Try Disabling anti-virus programs, file and disk management utilities, or backup programs installed on your system.
•     Execute Performance Optimizer (Perfwiz.exe) on the server.
•    Go to Control Panel> System> Performance tab, and then click Change to change the virtual memory settings in Windows NT Server
•     Ensure that you are running the most recent version of the hard disk utilities on your system. Otherwise it can also cause the problem.
•     Check the Performance Monitor counters for objects such as: Cache, Database, LogicalDisk, Memory, MSExchangeIS, Paging File, PhysicalDisk, Process,Server Work Queues, Server, System,Thread
It will let you detect if there is any issue with these objects. 

Method 4: Data relocation:

Data relocation is the process of moving mailboxes from the corrupt database to a new database on same server or on another server.

Additional Info:

1018 error (JET_errReadVerifyFailure) can also occur if you are running version 5.5.2608.0 of the Ese.dll file and perform an online backup of the Exchange Server directory or information store on a single-processor computer. If the buffer of Windows NT Backup program is more than512 KB then, it leads to the error 1018

In such situation the resolution method for error 1018 will be different other than the steps described above. In this case you need to obtain the latest service pack for Exchange Server version 5.5 in order to resolve the error. 

If this error is occurring due to incorrect buffer value then, setting the buffer value to 512 KB or less will prove. Keep in mind that incorrect use of registry editor can lead you to severe critical situations such as need for OS re-installation.

To set the buffer value, follow the given steps:

•    Run Regedt32.exe (Registry Editor).
•   Go to the following registry key and Locate the Max Buffer Size HKEY_CURRENT_USER\Software\Microsoft\NTBackup\Backup Engine
•    Go to Edit > DWORD,
•    In the DWORD  field enter  a value less than 512
•    Click OK.
•    Exit Registry Editor.

The above described methods are capable enough for fixing the issue. However there can be several cases when these solutions don’t seem to work efficiently. In such situation you need to some powerful and easy to use third party Exchange recovery solution.


Post a Comment