To resolve the problem, use one of the following methods.
Restore from a Backup
When you encounter the error, the recommended and most reliable
way to recover the database is to restore from the last known good
backup.
NOTES:
Even after you restore from a known good backup,
however, the -1018 errors may appear again unless the root causes of the
physical data write problems are resolved.
The Windows NT system log
should be reviewed for errors reported by the hard disks and hard disk
controllers as well at the NT Fault Tolerant disk subsystem (FTDISK). In
particular, hardware-related errors such as SCSI time-out errors, memory
errors, or drive corruption errors may appear. These errors should be dealt
with and resolved before the database is restored to this server.
Even if no hardware-related errors appear in the Windows NT system log, a
hardware problem may exist on your computer.
Microsoft recommendeds
that you contact your hardware vendor for further updates regarding your
hardware.
Use Edbutil.exe or Eseutil.exe
An alternate way to repair the bad page of data is to use
Edbutil.exe for Exchange Server 4.0 and 5.0, or Eseutil.exe for Exchange Server
5.5.
IMPORTANT: Make a full offline file backup of the database and log files
before running this process. This includes file-level backups of the
Exchsrvr\Dsadata and Exchsrvr\Mdbdata folders. This ensures that there is a way
to go back if Edbutil/eseutil fails.
Edbutil.exe (and Eseutil.exe)
is a low-level Jet database utility that defragments and checks the consistency
of the database. There is also a repair option (Edbutil /d /r <dbname>,
Eseutil /p <dbname>) that attempts to repair bad pages and remove them if
the repair is unsuccessful. If a page is removed using the repair option, data
loss will occur. A page in a database can contain messages, folders, tables,
master indexes, and so forth. There is no way to tell what Edbutil or Eseutil
has removed because Jet sees it as raw data. After repair has finished on the
Jet database, run an offline defragmentation (Edbutil /D <dbname> or Eseutil /p <dbname>) to repair the space trees. Immediately after defragmentation, run Isinteg.exe in fix mode on the same database that Edbutil or
Eseutil was run on. Isinteg cleans up any inconsistencies between the pointers
from the information store to the actual data in the Jet database. If Isinteg
is not run immediately following repair, corruption may occur in user
mailboxes. Users will have messages that cannot be opened, incorrect
read/unread counts, and so forth. After running Edbutil or Eseutil, make a FULL
backup of the database that was repaired.
Refer to the
Microsoft Exchange Server Administrator's Guide for more details on the use of Edbutil.exe and Isinteg.exe.
Troubleshoot the Problem
If you are unable to resolve the problem by restoring from a
backup or using Edbutil.exe or Eseutil.exe, use the following steps to
troubleshoot the problem. After performing each step, check to see if the
problem is resolved.
- Restart the computer. If you do not want to restart the
computer at this time, stop and restart the information store and directory
services instead. To do so:
- In Control Panel, double-click Services.
- Click Microsoft Exchange Directory, and then click Stop. If a dialog box appears stating that additional services will be
stopped, note the services that will be stopped, and then click OK. The information store service should be included in the list of
services that will be stopped.
- Click Microsoft Exchange Directory, and then click Start.
- Start any additional services that were stopped in step
b, including the information store service.
- Use the Chkdsk.exe utility to verify the integrity of your
hard drives.
- If the Exchsrvr folder is located on a compressed NTFS file
system drive, uncompress the drive.
- If write-back caching is enabled on a SCSI hard disk
controller installed in your computer, verify that the cache is not volatile.
Non-volatile caches are protected by a battery, Flash RAM, or some other
method.
- Disable any programs that keep files open for an extended
period of time, such as anti-virus programs, file and disk management
utilities, or backup programs. If disabling a program prevents the problem from
occurring, verify that the program is completely compatible with Exchange
Server before you enable it again.
- Run Performance Optimizer (Perfwiz.exe) on the
server.
- Verify that the virtual memory settings in Windows NT
Server are correct. To view the virtual memory settings, in Control Panel,
double-click System, click the Performance tab, and then click Change.
- If you are running any hard disk utilities obtained from
your original equipment manufacturer (OEM), verify that you are running the
most recent version of the programs.
- Use the Performance Monitor counters associated with the
following objects to detect potential problems:
- Cache
- Database
- LogicalDisk
- Memory
- MSExchangeIS
- Paging File
- PhysicalDisk
- Process
- Server Work Queues
- Server
- System
- Thread