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 Partition | Configuration |
| Schema Name | msExchPrivateMDB |
| Location | Configuration/Services/Microsoft Exchange/<Your Organization Name>/Administrative Groups/Exchange Administrative Group (FYDIBOHF23SPDLT)/Databases |
| Is Container Object | Yes |
| Child Objects | One 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
| msExchEDBFile | The 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 |
| msExchEDBOffline | TRUE if the database is currently offline. |
| msExchESEParamLogFilePath | The file system path at which database transactional logging is stored. |
| msExchESEParamCircularLog | A 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. |
| homeMDBBL | A 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
Get-MailboxDatabaseCopyStatus -Active -ConnectionStatus
Get Standalone Databases (non-DAG)
Get-MailboxDatabase | ?{$_.ReplicationType -eq 'none'}
Get All Mailboxes for Database
Get-Mailbox -Database $(Read-Host -Prompt "Enter the name of the Database to use") -ResultSize Unlimited | Sort DisplayName
