Microsoft KB Archive/248406

= Esefile support utility for Exchange Server 5.5 and Exchange 2000 Server =

Article ID: 248406

Article Last Modified on 10/27/2006

-

APPLIES TO


 * Microsoft Exchange 2000 Server Standard Edition
 * Microsoft Exchange Server 5.5 Service Pack 3

-



This article was previously published under Q248406





SUMMARY
The Esefile utility is a new utility that is included with Microsoft Exchange Server version 5.5 Service Pack 3 (SP3) and Microsoft Exchange 2000 Server. It is in the Support folder on the Exchange 5.5 SP3 CD and in the Support\Utils\I386 folder on the Exchange 2000 CD. There are separate versions for the Intel and Alpha platforms. You can use this utility on Microsoft Exchange Server 5.0 databases, on Exchange 5.5 databases, and on Exchange 2000 databases.

The command line for the Esefile utility is:

esefile [/c   ] [/x  ] [/s  ] [/d  ]

/c copies source to destination

/s Ese.dll format checksum

/x Edb.dll format checksum

/d dumps a page from a file



MORE INFORMATION
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 < > < >

Notes   and   must be a full path plus the file name, and the destination path must already exist. However, the destination file name does not have to be the same as. The following commands are examples:  esefile /c c:\notes\notes.txt d:\newnotes\notes.txt esefile /c c:\notes\notes.txt d:\newnotes\newnotes.txt

Important If you do not specify the destination file name together with the path when you copy an Exchange database file, you receive the following error message:

Copying  to

FAILURE: CreateFile: Access is denied.

To resolve this issue, specify the full source path and the file name together with the full destination path and the file name when you use the Esefile command to copy a file. For example, to copy an Exchange database file, type a command that is similar to the following, and then press ENTER:

esefile /c "c:\program files\exchsrvr\mdbdata\priv1.edb" "c:\ \priv1.edb"

 Only one instance of Esefile should be run at a time. To copy files, use the version of Esefile that is available with Exchange 5.5 SP4 or on the Exchange 2000 CD. If you use the version of Esefile that is available with Exchange 5.5 SP3, the destination cannot be a mapped drive.</li></ul>

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  (ESE format Exchange Server 5.5 and Exchange 2000)
 * esefile /x  (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

<pre class="fixed_text">         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

<pre class="fixed_text">         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)

Additional query words: XADM exch2kp2w

Keywords: kberrmsg kbinfo KB248406

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.