Exchange Server is undoubtedly the most popular emailing and calendaring platform being used in small to large scale organizational setups. A remarkable amount of data is stored for a number of users in different mailboxes organized in a database. It is inevitably important to control Exchange database (.EDB) file size so as to prevent corruption. If mailbox corruption due to oversized EDB is the issue you encounter recently, then going through this post will help you resolve the persisting problem by executing New-MailboxRepairRequest in Exchange 2013.
Introduction to New-MailboxRepairRequest
The new cmdlet is introduced with the release of MS Exchange Server as a preferred method to repair Exchange 2013 database. The subsequent version of the Server application continued utilizing this PowerShell command for repairing the logical errors in the database.
To run this command, Exchange administrators do not require dismounting the database. The new cmdlet possess the capability to recover single mailbox without dismounting full database. Also, you can select to repair specified mailbox as well as the complete database running this command.
Only the specific mailbox that needs to be recovered will turn inaccessible while the cmdlet is in process while other mailboxes in the database remain unaffected. It aims at repairing logical corruption in the mailbox data that occurs when data stored in the database becomes invalid.
If you don’t want to use New-MailboxRepairRequest command or New-MailboxRepairRequest command failed to repair corrupt Exchange database then you can easily use Stellar Repair for Exchange tool to repair corrupt EDB mailboxes.
What Items can be Repaired?
New-MailboxRepairRequest can repair corrupt mailbox in the instance of four different categories of corruption. This cmdlet is used on the following folders:
- Remove Search Folders corruption (SearchFolder)
- Aggregate count on the items that fail to return correct value (AggreggateCount)
- Provisioned Folders incorrectly linked to parent folders that are not provisioned (ProvisionedFolder)
- Folders exhibiting incorrect contents (FolderView)
Syntax & Parameters
Syntax: “New-MailboxRepairRequest -Mailbox (MailboxIdParameter) [-Archive (SwitchParameter)] (COMMON PARAMETERS)”
Parameters: The parameters that can be used with New-MailboxRepairRequest are:
- Database: It is the name of the database that requires repairing. All the mailboxes will be checked for corruption.
- Archive: Using this parameter (optional), you can identify and repair corruption in the archive mailbox. Else, only primary databases will be repaired if this parameter is not indicated in the cmdlet.
- StoreMailbox: It is used along with Database parameter to specify mailbox GUID for the specific mailbox that needs to be repaired.
- CorruptionType: Particular type of corruption that required to be repaired such as SearchFolder, AggregateCounts, ProvisionedFolder, and FolderView
- Mailbox: Name of the particular mailbox to repair corrupt Exchange mailbox
- DetectOnly: Identify and report error, but does not repair the database
New-MailboxRepairRequest- Exchange 2013 Execution
- Cmdlet to execute against mailbox named Alisa@mailtest1.com to identify and repair folder views:
“New-MailboxRepairRequest -Mailbox alisa@mailtest1.com -CorruptionType FolderView”
- Cmdlet run against user mailbox Carell to detect corruption in the SearchFolder and ProvisionedFolder. DetectOnly parameter, as the name suggests, will not repair the issue:
“New-MailboxRepairRequest -Mailbox Carell -CorruptionType ProvisionedFolder,SearchFolder –DetectOnly”
- Cmdlet to repair AggregateCounts problem for all mailboxes existing within MB-DB01 in Exchange 2013:
<p><em>“New-MailboxRepairRequest -Database MB-DB01 -CorruptionType AggregateCounts</em></p>
- Cmdlet to fix all types of corruption for user mailbox Carell and archive:
<p><em>“New-MailboxRepairRequest -Mailbox Carell -CorruptionType ProvisionedFolder,SearchFolder,AggregateCounts,Folderview –Archive”</em></p>
- Cmdlet for creating a variable that identifies the mailbox Carell. The variable will be utilized for StoreMailbox and Database parameters for creating request to fix the existing errors:
$Mailbox = Get-MailboxStatistics Carell
“New-MailboxRepairRequest-Database$Mailbox.Database-StoreMailbox$Mailbox.MailboxGuid -CorruptionType ProvisionedFolder,SearchFolder,AggregateCounts,Folderview”
Event Viewer-View Output
All the events are logged in the Event Viewer under MSExchangeIS Mailbox Store. Administrators can analyze the details of the repair requests being generated via Exchange 2013 New-MailboxRepairRequest. Some of the logs created in Event Viewer are:
Event ID | Description |
100044 | Mailbox repair request fails for ProvisionedFolde |
10045 | Database repair request fails for ProvisionedFolder |
10046 | Repair request for ProvisionedFolders is accomplished |
10047 | Mailbox level repair request begins |
10048 | Database or mailbox repair request is accomplished |
10059 | Database level repair request is started |
10062 | Corruption is detected in the database or a particular mailbox |
These above-mentioned examples to run New-MailboxRepairRequest help repair Exchange 2013 database corruption issues. If it doesn’t return any result, you can view the event log to check the repair status through Event ID.
What- if New-MailboxRepairRequest returns Event ID or Error?
In case, if you receive Event ID like 10049 or etc., it implies that the repair request for the specified mailbox is failed. One of the solutions Exchange Administrators most likely adopt is using a Stellar Repair for Exchange tool. The software is the best solution to recover corrupt EDB mailboxes. The trial version of the software can be utilized to check mailbox components of corrupt EDB file and preview the recoverable items. The tool is efficient enough to handle all sorts of corruption in Exchange mailbox 2016, 2013, 2010, 2007 and lower versions.
Video Tutorial of Stellar Repair for Exchange