Lucid8 created this article as a courtesy and will not provide further support or guidance unless you have engaged a team member for paid Professional Services for Microsoft Exchange.  All information in this article is provided on an "AS IS" basis with no warranties, guarantees of completeness, accuracy, usefulness or timeliness, and as such any action you take thereafter, are done so at your own risk.  

NOTE: If you would like assistance in regards to your Exchange Database .EDB files, for self-service check out DigiScope or engage one of our experts for paid  Professional Services for Microsoft Exchange  assistance.


Exchange Database .EDB Files

The Exchange database uses a dynamic system for adding, modifying &  deleting data within the Exchange database. Mailbox data can be located in one of three locations, Server Memory, Transaction Logs & the Exchange database. When a database is mounted/operational its state is “not consistent” or “dirty shutdown”. This means the data is spread across all three locations. When a Mailbox database is dismounted all information is flushed to the Mailbox database (which means all information in the latest transaction log files is now in the Mailbox database) and the Mailbox database is closed.

During installation of Exchange the database files are automatically created in a path similar to \Program Files\Microsoft\Exchange Server\V15\Mailbox\


  • Server Memory – This is where Mailbox data is cached and where new transactions are created 


  • Fabrikam-13.edb – this is an Exchange database file that contains one or more mailboxes and all messaging data, such as, eMails, Appointments, Meetings, Contacts, Tasks, Notes etc along with the mailbox folder structure
     
  • Transaction Log Files – This is where all transactions are stored before they are flushed to the Mailbox database. All transactions are always stored in the Transaction Log Files being committed to the database. Transaction log files are always up-to-date with the latest transactions, but the newest information might not be committed to the Mailbox database and still is in Server memory. The information that’s newer than the checkpoint file at a certain point in time is still in Server memory but not flushed to the Mailbox database. However, this information is safely stored in the latest transaction log files
    • E01.log – this file holds transactions that reflect actions performed in the server’s memory for transactional processing of all information within the Exchange database. A transaction can contain actions such the creation, modification or deletion of a folder or messaging item. All the information processed by the Exchange server is automatically recorded onto the E01.log file and when this file goes over 1024 KB in size then another file is created – the new file is named according to this pattern: <original name> <hexadecimal number> as you can see within the next bullet below
    • E010003723A.log, E010003723B.log, E010003723C.log – these are the files that consist of transactions that are already accepted and added to the database and are necessary in data recovery scenarios 
      • E01tmp.log – it is a temporary file which is used at the moment when a new log file E01.log is created.
         
      • E01.chk – a checkpoint file. It is used by the Exchange server to maintain a relation between the information included in the database and in the logs. The checkpoint file determines where recovery will begin. Exchange thinks that all information in transaction log files ‘below’ the checkpoint file will be safely stored in the Mailbox database, thus recovery will begin at the location indicated by the checkpoint file. If the checkpoint file is no longer available recovery will start with the oldest available transaction log that’s on the Exchange server.
         
      • E01res0000A.jrs, E01res0000A1.jrs, E01res00002.jrs, E01res00003.jrs etc – these files are created along with logs of archive transactions and they are used by Exchange when disk space becomes full.

All transactions are stored in the transaction log files. So the delivery of new messages, calendar items, tasks, creation or deletion of folders or mailboxes, everything is stored in the transaction log files. The checkpoint file determines where recovery will begin. Exchange thinks that all information in transaction log files ‘below’ the checkpoint file will be safely stored in the Mailbox database, thus recovery will begin at the location indicated by the checkpoint file. If the checkpoint file is no longer available recovery will start with the oldest available transaction log that’s on the Exchange server. 


The files mentioned above are depicted within the screenshot below.

In most cases, thanks to the log files, the Exchange Server (after the reboot) is usually able to get back to the operational state before the failure. For rare situations if the server is unable to automatically recover, the Exchange administrator must intervene by using ESEUTIL.exe or a 3rd party product like Lucid8's DigiScope.


NOTE:  Lucid8 created this article as a courtesy and will not provide further support or guidance unless you have engaged a team member for paid Professional Services for Microsoft Exchange.  All information in this article is provided on an "AS IS" basis with no warranties, guarantees of completeness, accuracy, usefulness or timeliness, and as such any action you take thereafter, are done so at your own risk. 

NOTE: If you would like assistance in regards to your Exchange Database .EDB files, for self-service check out DigiScope or engage one of our experts for paid  Professional Services for Microsoft Exchange  assistance.