Note The Esefile utility is system insensitive.
There are
two main uses for this utility: to copy files, and to test the checksums on an
Exchange database.
Copy files
To copy files by using the Esefile utility, type the following
command:
esefile /c <source>�<destination>
Notes This method of copying files is optimized for large files. The
files are opened in uncached mode. Therefore, you can copy files that are
larger than the files that you can copy if they are opened in cached mode.
However, there are some limitations of this method:
- Wildcard characters are not accepted.
- You can only copy one file at a time.
- The destination file cannot not be on a network
drive.
- File time stamps are not preserved.
The
esefile /c command can copy any file, not just Exchange databases. File
copying is very fast when you use the
esefile command; on large files (over 100 megabytes) this method can be
two times as fast as the Copy/Xcopy utility.
The
esefile /c command can copy a file of any size. (The utilities in Microsoft
Windows Server NT such as Copy/Xcopy make changes to the files by caching the
page pointer. The size of files that these utilities can copy depends on the
available amount of contiguous non-paged pool memory in the system.)
Test the checksums on an Exchange database
This command verifies the page-level integrity of the database.
It runs at a speed of approximately 1 gigabyte (GB) per minute. To test the
checksums on an Exchange database, type one of the following commands,
depending on your situation:
- esefile /s database (ESE format Exchange Server 5.5 and Exchange 2000)
- esefile /x database (EDB format Exchange Server 5.0)
Note If you use the
/x switch on an ESE-format database or the
/s switch on an EDB-format database, a checksum error message is
logged on every page. The following example shows a database that has the
correct checksum:
Checksumming
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................
117250 pages seen
0 bad checksums
457 uninitialized pages
0 wrong page numbers
esefile completes successfully after 28 seconds
The following example shows a database that has an
incorrect checksum:
Checksumming
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................
ERROR: page -1 checksum failed ( 0x39215350 / 0x291fed56 )
ERROR: page 0 checksum failed ( 0xd7698bbc / 0x6a5d128b )
117250 pages seen
2 bad checksums
457 uninitialized pages
0 wrong page numbers
esefile fails after 28 seconds
In this example, page -1 and page 0 did not pass the
checksum, and when you try to start the information store, it does not start
and logs the following error message in the application event log:
Event ID 5000 Source MSExchangeIS
Unable to
initialize the Microsoft Exchange Information Store service.
Error
Non-database file or corrupted database.
For additional
information, click the following article numbers to view the articles in the
Microsoft Knowledge Base:
151789
Error -1018
(JET_errReadVerifyFailure)