Troubleshooting “–1018” Exchange Server Database Errors
Written by Mike Rede on August 9, 2010Understanding the underlying mechanics of how Exchange Server works and how it stores messages can be very helpful to administrators especially when problems occur and resolution is needed immediately.
One of the most important components of the Exchange Server is that of the database which contains all the messages and directory information before those messages are applied to the database. Exchange Server 5.5 Standard Edition uses fault-tolerant, transaction-based databases that can grow to a maximum of 16 GB. The size of the database for Enterprise Edition is limited only by the hardware used for storage. As with all databases Exchange Server uses transaction log files to be able to reconstruct the data should a failure occur. This data has already been accepted by the server but has not yet been committed.
The important database components of Exchange Server 5.5 include the Information Store and the JET Database Engine. The Information Store is actually comprised of two separate databases: the private information store database, Priv.edb, which manages data in user mailboxes and the public information store, Pub.edb, which manages data in public folders. Both databases are based on the JET format used to track and maintain information by utilizing the log files.
Administrators can encounter problems with the Exchange Server if any of these log files or the database become corrupted for some reason. Typical areas where database files can become corrupted include:
- Page (file system) level
- Database (JET database engine) level
- Application (Exchange information store) level
And the three most common errors that are associated with file-level problems in an Exchange database are:
- -1018 JET_errReadVerifyFailure
- -1019 JET_errPageNotInitialized
- -1022 JET_errDiskIO
Most of the -1019 and -1022 errors are caused by problems in the underlying system but the -1019 and -1022 errors can also be the result of errors in the Exchange Server code itself.
Administrators will see the -1018 error most often. The -1018 error is most often caused by corruption at the file system level to the Exchange server database.
Fortunately, Exchange Server includes tools that can help detect file-level damage to pages in its databases. At the page level and at the database level there are tools that can be used for both detection of errors in the database and also for repair of those errors.
For detection only of errors at the page level the utility to use is called “Esefile.exe”. But for both the page level and the database level that tool is the “Eseutil.exe” utility that can be used for not only detection of errors but also be used for repair work. At the application level the tool to use is the “Isinteg.exe” utility which can be used for detection and repair of problems.
As is common with most stack oriented or tiered architectures any problems at the lower levels will most likely result in problems at the upper levels. In this architecture when there are problems at the page level then there will most likely be problems at the database or application levels. So if an administrator has used the “Eseutil.exe” utility to repair errors at one of the lower levels then they will most often have to use the “Isinteg.exe” utility to continue the repairs at the application level.
The cause of the “- 1018” error is most often found in one of the lower levels that Exchange Server is built on. The most basic causes of the “- 1018” errors are usually found at the page level and are the result of issues with drivers, firmware, or hardware.
Errors at the database and application level are usually related to issues in Exchange code or in third-party programs that integrate with Exchange Server.
When data on a disk drive has become corrupted it is usually the result of one or more of the following conditions:
- Incorrect data has been written to the storage media.
- Data has been written to the wrong place on the storage media.
- Data has become damaged or has been changed after being stored.
Preventing corruption of data or preserving the integrity of the data is very difficult and almost impossible to guarantee one-hundred percent of the time. Luckily there are utilities, such as those mentioned above, which can be utilized to detect both incorrect and misplaced data and warn administrators of such conditions via the “-1018” error codes.


