Exchange Server Error 1018

Solution of Exchange Error 1018


This segment discusses about Exchange error 1018 that is encountered because of page-level corruption of database. In Exchange Server, there is built–in facility that could help to detect and fix damage done to the database file at file–system (page) level. The most common error that a DBA administrator could come across if the EDB file is corrupt at page level is –1018 JET_errReadVerifyFailure (most probably while online backup creation).

Database of Exchange Server has possibility to get corrupted at different levels, depending upon what wrong has happened to it. For example: if the page of EDB file is corrupt or the index of database has been dis-ordered. According to the scenario, DB corruption of Exchange Server is categorized as Physical corruption and Logical corruption.

Resolve Exchange 2007 Error 1018 from Physical Corruption

Meanwhile, if file-system level damage to database has to be verified, Eseutil can be used. Using the /mh switch against the DB, its header can be checked out where checksum value stability determines integrity of the database.

How to Verify Exchange Database Page Corruption?

At user's end, Exchange database is like any other system-file saved with .edb file extension. Meanwhile, at a logical level, an EDB file is made up of 4KB pages (depending upon versions of Exchange and Windows OS, it can be multiple of 4 KB too). These pages are organized in B–Tree structure that ensures minimum I/O operations. These pages in EDB file can have data stored in or it may have pointers that link a page to another page. Such database structure ascertains that while any query is made, faster traversal to the tree is done for quick results. Further, tables, indexes have separate B-tree structure to manage data which is known as B+ Tree.

The first two pages of Exchange database EDB file are reserved for its Header which means that first logical page of database is the third physical page. To calculate Logical page number of EDB file, the formula is:

However, the checksum value of database is equally important to its page numbers. When a transaction is being written to the disk, a mathematical calculation for the page is done which is called Checksum. This value is held by the header of EDB file and whenever the database is read for any general task or while online backup creation, the checksum value is calculated again. This re–calculated value is then matched with the value stored in the header. If these values do not match, it indicates that the page is corrupt.

Understanding Exchange Error 1018

An initialized page of Exchange database reports error –1018 because of any of the following reasons:

Moreover, there is possibility that Exchange Server is itself responsible for generating this error by generating an incorrect checksum value for the page.

How to Fix Exchange Error 1018

Now that we have understood the reason behind Exchange error –1018 JET_errReadVerifyFailure, we can make an attempt to fix it using ESEutil that is free command–line tool by Microsoft to deal with page–level EDB corruption. Here is a step by step procedure that can be followed in order to repair the database.

Please Note: This is a kind of physical corruption and to work around, the solution is to restore data from backup. When an online backup is restored, assurance is that it does not contain any corrupt page as on finding any damaged page, online backup procedure terminates with error 1018. So the very first step to fix the error is to restore data from backup.

File–system level damage to the database can be resolved with Eseutil/p switch. In case the any leaf page of the EDB file is damaged, then surely data loss will happen but if internal page is damaged, the structure information of the DB is lost wherein as a consequence a table will be reconstructed.

The syntax to repair Exchange EDB file using Eseutil /p switch is:

Repair process will remove corrupt pages from the EDB file, leaving behind good data (making DB operational). However, you cannot mount this database to Server directly until it is defragmented and logical numbering of pages is corrected.

Elimination of corrupt pages from the database will result in white space in DB which can be removed only through offline defragmentation of DB. The syntax for this operation is:

Repair and Defragmentation process dis–order the index of database which could be corrected using Isinteg utility. This will correct physical and logical numbering of database, making it mountable on Server:

Conclusion: The solution shared above to fix Exchange error 1018 is lengthy and calls expertise to operate Eseutil. To recover EDB file data after page, ESE database, or application level corruption, Exchange Recovery software can be used that offers a simplified approach to recover public and private folder data from offline/corrupt EDB file.

Read & Evaluate: https://www.edb.2pst.net/