How to Run Eseutil /M in File Dump Mode

 

You can use the /m switch with Eseutil to create a file dump, or formatted output of various database file types that you specify when you run Eseutil.

The syntax for Eseutil /m is:

ESEUTIL /m mode-modifier file_name [options]

The most common mode modifiers that are used with Eseutil are:

  • h - dump database header (default)

  • k - dump checkpoint file

  • l - dump log file or set of logs

Note

To list additional options for Eseutil, type eseutil /? at a command prompt, and then press ENTER.

For more information about Eseutil file dump mode, see Eseutil /M File Dump Mode.

How to Run Eseutil /M

You can run Eseutil in file dump mode to do the following:

  • View transaction log file and database page headers

  • Validate transaction log files

  • Check metadata and space usage

View file and page headers

The header for checkpoint, transaction log and database files is the first physical page of each file. Some files have a “shadow” header—a copy of the header on the second page of the file. The file header contains important state and diagnostic information about the file. By correlating header information from various files, you can determine whether the files belong together or are mismatched.

There are separate switches for viewing different kinds of file headers. Be sure that you use the correct switch with the correct file type, or the output will be invalid.

To view the header of database files and page headers

  • To view the header of a database, streaming database file or online backup patch file:

    ESEUTIL /MH {filename.edb | filename.stm | filename.pat}
    
  • To view the header of a checkpoint file:

    ESEUTIL /MK filename.chk
    
  • To view the header of a transaction log file:

    ESEUTIL /ML filename.log
    
  • To view the header of a database page:

    ESEUTIL /M database_filename.edb /Plogical_page_number
    

    Note

    There is no space between /P and the page number.

Validate transaction log files

Prior to Exchange 2000, it was necessary to closely check a set of transaction log files to determine:

  • If they were all from the same sequence

  • If there were any gaps in the sequence of logs.

  • Doing this required examining and comparing each file header. There was no way to verify that a transaction log file was undamaged. Transaction log files in Exchange 5.5 were not checksummed.

Starting with Exchange 2000 Server, you can use the /ml switch to verify both the sequence and the integrity of a set of log files.

To verify both sequence and integrity of a set of log files

  • Run the following command syntax:

    ESEUTIL /ML Enn

    For example:

    ESEUTIL /ML E00

    Note

    By specifying only the log file prefix, rather than a particular log file name, all log files in the current folder will be scanned and validated. You must run this command from the folder where the log files exist. Processing each log file will take a few seconds. To process the current log file in a running storage group, all databases in the storage group must be dismounted.

Check metadata and space usage

The output of the metadata and space usage commands is very similar to each other. A space usage dump is a metadata dump with columns added for space usage and streaming databases statistics. A metadata dump will be faster to complete than a space usage dump. Therefore, use the metadata dump when you are looking for table information such as pgnoFDP and objidFDP values, and you are not concerned about space usage.

To view metadata dump

  • Run this basic command syntax to display metadata information for a database:

    ESEUTIL /MM database_filename.edb

    You can also display data for a single table by specifying the name of the table. For example, you may wish to view the Msg or attachments table:

    ESEUTIL /MM database_filename.edb /t1-23

    Note

    The attachments table in an Exchange 200x database is table 1-23.

    Note

    The space usage dump syntax is identical to that for metadata, except that the switch /MS is used instead of /MM.

An aggregate total of the free pages in the database is listed on the last line of a space usage dump. You can multiply this number by the page size for the database to get an approximation of the space that will likely be reclaimed by defragmentation.

Note

In a typical database, the metadata dump will take multiple screens. To preserve the output to a file, add a redirection command to the end of your command line, for example:
ESEUTIL /MM database_filename.edb > filename.txt

Command line reference

The following is the command line reference that can be obtained by running Eseutil /? and then M from the Exchsrvr\bin folder:

FILE DUMP:
    DESCRIPTION:  Generates formatted output of various database file types.
         SYNTAX:  ESEUTIL /m[mode-modifier] <filename> [options]
     PARAMETERS:  [mode-modifier] - an optional letter designating the type of
                                    file dump to perform. Valid values are:
                                    h - dump database header (default)
                                    k - dump checkpoint file
                                    l - dump log file or set of logs
                                    m - dump meta-data
                                    s - dump space usage
                                    u - dump undefined codepoint fixup table
                  <filename>      - name of file to dump. The type of the
                                    specified file should match the dump type
                                    being requested (eg. if using /mh, then
                                    <filename> must be the name of a database)
        OPTIONS:  zero or more of the following switches, separated by a space
                  /p<pgno>   - dump the specified page from the database
                  /s<file>   - set streaming file name (default: NONE)
                  /t<table>  - perform dump for specified table only
                  /v         - verbose
                  /8         - set 8k database page size (default: auto-detect
                  /o         - suppress logo

For More Information

For more information, see the following topics in the Exchange Server Database Utility Guide:

For more information about /ml and /mh switches, see Eseutil.exe Examples.