1. Home
  2. Docs
  3. Vocabulossary
  4. Microsoft Exchange
  5. Mailbox Database

Mailbox Database

Short Description

A container holding the contents, structure, and folder permissions of one or more mailboxes.

Details and Remarks

A mailbox database is an Extensible Storage Engine (ESE) database that contains one or more mailboxes, their contents, structure, permissions, and other data-specific controls and metadata.

A mailbox database can control the size of mailboxes by a policy setting however, individual mailboxes can be overridden through explicit settings.

A mailbox database can contain any type of mailbox. The System Mailbox is also a member of the database but is excluded from most views in the Exchange user interface and PowerShell output.

A mailbox database is a 2-part object; one part Active Directory object and another part database data. In order for a mailbox database to be usable it must have an object in Active Directory. The database data is stored in a single file (*.edb) with uncommitted changes stored in several transaction log files. Uncommitted changes are pushed into the database on each full backup or by explicit commands to do so.

Active Directory Information

Active Directory PartitionConfiguration
Schema NamemsExchPrivateMDB
LocationConfiguration/Services/Microsoft Exchange/<Your Organization Name>/Administrative Groups/Exchange Administrative Group (FYDIBOHF23SPDLT)/Databases
Is Container ObjectYes
Child ObjectsOne or more Exchange server reference objects. Each object is a server reference that is a member of a Database Availability Group, or the sole responsible server if it is not a member of a DAG.

Noteable Active Directory Properties

msExchEDBFileThe file system name and path of the ESE database file.
Example: C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Mailbox Database 0450388335\Mailbox Database 0450388335.edb
msExchEDBOfflineTRUE if the database is currently offline.
msExchESEParamLogFilePathThe file system path at which database transactional logging is stored.
msExchESEParamCircularLogA value that determines if Circular Logging is enabled on the database.
0 = Off
1 = On

Circular logging, when enabled, causes changes to the database are written and committed nearly immediately. See the Circular Logging entry for more details.
homeMDBBLA backlink property that contains the entire list of mailboxes contained on this database. Each entry is a Windows DN entry of a mailbox object in Active Directory.

Common and Interesting Powershell Commands

Get Active Database Copies

Returns a list of currently active database copies. The active database copy is the database to which all changes are applied. Changes are queued for replication to the non-active databases. Note that this will also output databases that are not members of any DAG.
Get-MailboxDatabaseCopyStatus -Active -ConnectionStatus

Get Standalone Databases (non-DAG)

Returns the list of databases that are not members of any DAG and as such do not have replicas.
Get-MailboxDatabase | ?{$_.ReplicationType -eq 'none'}

Get All Mailboxes for Database

The following will return a list of all of the mailboxes assigned to a specific database, sorted by display name. The command will prompt for the name of the database.
Get-Mailbox -Database $(Read-Host -Prompt "Enter the name of the Database to use") -ResultSize Unlimited | Sort DisplayName

How can we help?