A file with .edb file extension is mailbox database created by Microsoft Exchange Server to store mail-related data. EDB, Exchange Database, stores messages that are in-process and non-SMTP. EDB are also known as Extensible Storage Engine (ESE) Database files and store files using b-tree structure. Being storage files, EDB files can be converted into other mail storage file formats such as PST and OST.
EDB File Format
There is no official/open EDB file format specifications available that can be referenced. Some progress has been made for reverse engineering the file format, resulting in partial specifications decoding. As per these, an EDB file consists of:
File Header - Contains database file header information
Fixed Size Pages - Contains the database which consits of tables and indexes
Database File Header
The database file header resides in the first database page and is atleast 668 bytes. The file header contains File Format Version and File Type in addition to other fields.
Note: Identifiers for these types are not known.
File Format Version
The original format of EDB started in April 1997 and kept evolving for changes thereafter.
Original operating system Beta format.
Add columns in the catalog for conditional indexing and OLD.
Add the fLocalizedText flag in IDB.
Add SPLIT_BUFFER to space tree root pages.
Revert revision in order for ESE97 to remain forward-compatible.
Add new tagged columns to catalog (“CallbackData” and “CallbackDependencies”).
Super Long Value (SLV) support: signSLV, fSLVExists in dbheader.
New SLV space tree.
SLV space map.
New template column format.
Sorted template columns. Used in Windows XP SP3
Contains the page header with the ECC checksumUsed in Exchange
Used in Windows Vista (SP0)
Support for 2 KiB, 16 KiB and 32 KiB pages.Extended page header with additional ECC checksums.Column compression.Space hints.Used in Windows 7 (SP0)
New Space Manager.
The EDB database file contains the schema for all the tables in the database. In addition, it also includes records for all database tables and indexes for the tables. Its location is determined by the following identifiers.
Based on these, the state of the database can be assessed as follow.
The database was just created.
The database requires hard or soft recovery to be run in order to become usable or movable. One should not try to move databases in this state.
The database is in a clean state. The database can be attached without any log files.