Office 365 and Exchange migrations

Mailbox Size Limits, Archives and Retention After Migration

Mailbox quotas rarely mattered on-prem because you set them yourself and could add disk. In Exchange Online the quota is a property of the license, and a mailbox that was fine at 80 GB on your server will refuse the last part of its move into a 50 GB cloud mailbox.

This post lays out the quotas, how archives extend them, and how to use retention so the problem does not come back a year after the migration.

Quotas by license

The primary mailbox size is tied to the Exchange Online plan inside the license. Business Basic, Business Standard, Business Premium and E1 include Exchange Online Plan 1, which gives a 50 GB primary mailbox. E3 and E5 include Plan 2, which gives 100 GB. Shared mailboxes and resource mailboxes get 50 GB without a license. The recoverable items folder has its own separate quota that grows when a mailbox is placed on hold.

The archive mailbox depends on the plan as well. Plan 1 includes an archive with a 50 GB quota. Plan 2, and any plan with the Exchange Online Archiving add-on, includes an archive that can auto-expand well beyond that once enabled. Check the current service description for the exact numbers, because Microsoft adjusts them.

Before you move a mailbox, compare its size to the target. The move will copy everything and fail at the end if the quota is exceeded, which wastes a night of bandwidth.

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Where-Object { $_.TotalItemSize.Value.ToGB() -gt 45 } | Sort TotalItemSize -Descending | Format-Table DisplayName, ItemCount, TotalItemSize

Connect-ExchangeOnline
Get-Mailbox user@domain.com | Format-List ProhibitSendQuota, ProhibitSendReceiveQuota, ArchiveStatus, AutoExpandingArchiveEnabled, RetentionPolicy

Options for oversized mailboxes

You have four choices for a mailbox that is bigger than its cloud quota. Assign a license with a larger quota, such as E3 for that one user. Enable the online archive and move old mail into it before the migration, so the primary shrinks. Have the user clean up, which works about as well as you expect. Or export the oldest years to PST and import them into the archive later through the compliance portal's network upload.

The archive approach is usually the right one. Enable the archive on-prem if you are on Exchange 2013 or later, apply a retention tag that moves items older than a set age into it, and let the managed folder assistant run for a few nights. In a hybrid migration, the primary and the archive move together and can be sized separately.

Enable-Mailbox -Identity user@domain.com -Archive
Get-Mailbox user@domain.com | Format-List ArchiveDatabase, ArchiveQuota
Start-ManagedFolderAssistant -Identity user@domain.com

Retention tags and the default policy

Exchange Online applies the Default MRM Policy to every new mailbox. It contains a tag that moves items older than two years to the archive, if the archive is enabled, plus tags users can apply by hand and a few for Deleted Items and Junk. It does not delete mail from the primary on its own, which surprises people who expect the cloud to clean up.

For most companies the useful change is small: turn on the archive for everyone with a Plan 2 or archiving license, and adjust the move-to-archive tag to one year or eighteen months so the primary stays lean. If you need deletion, create a separate tag with an explicit age and get sign-off before applying it, since deleted means deleted once the recoverable items window passes.

These policies are managed with the same cmdlets as on-prem, and the archive itself is where auto-expanding kicks in when needed.

Get-RetentionPolicy "Default MRM Policy" | Select -ExpandProperty RetentionPolicyTagLinks
New-RetentionPolicyTag -Name "Move to archive after 1 year" -Type All -AgeLimitForRetention 365 -RetentionAction MoveToArchive
Set-RetentionPolicy "Default MRM Policy" -RetentionPolicyTagLinks (Get-RetentionPolicy "Default MRM Policy").RetentionPolicyTagLinks + "Move to archive after 1 year"
Enable-OrganizationCustomization
Set-OrganizationConfig -AutoExpandingArchive

Purview retention versus MRM

There are two retention systems and they overlap. MRM, the retention tags above, is Exchange-only and focused on moving and cleaning mail by age. Microsoft Purview retention policies apply across Exchange, SharePoint, OneDrive and Teams, and are focused on keeping content for a compliance period and optionally deleting it afterwards. A Purview policy that says keep for seven years will silently hold copies of deleted mail in recoverable items, which grows that folder and can trip its own quota.

If your migration includes a compliance requirement, set the Purview policy first and then size the recoverable items and archive settings around it. If it does not, MRM alone is simpler and easier to explain to users.

  • MRM: age-based move to archive and deletion, Exchange only, user-visible tags.
  • Purview: organization-wide keep and delete rules, invisible to users, drives recoverable items growth.
  • Litigation hold: freezes a mailbox entirely, requires a license on shared mailboxes.

Watching quotas after go-live

Set a monthly check. A one-line report of mailboxes over 80 percent of quota, sent to the helpdesk, catches the executive whose assistant never deletes anything before the send-receive block lands during a customer conversation. Users get a warning from Exchange Online as they approach the limit, but they ignore it, so the report is for you.

Get-EXOMailbox -ResultSize Unlimited -PropertySets Quota | ForEach-Object { $s = Get-EXOMailboxStatistics $_.Identity; [pscustomobject]@{ User=$_.DisplayName; SizeGB=[math]::Round($s.TotalItemSize.Value.ToGB(),1); Quota=$_.ProhibitSendQuota } } | Where-Object { $_.SizeGB -gt 40 } | Sort SizeGB -Descending

Frequently asked questions

What happens if a mailbox exceeds the quota during a hybrid move?

The move fails at completion with a quota error. Enable the archive and move old items first, shrink the mailbox, or assign a license with a larger quota, then resume the move request.

Is the auto-expanding archive on by default?

No. It is enabled at the organization level with Set-OrganizationConfig -AutoExpandingArchive and then applies to eligible mailboxes as their archive fills. It can take time to provision the extra space.

Can users see and search the archive in Outlook?

Yes. It appears as a separate mailbox called Online Archive in desktop Outlook and Outlook on the web, and search across both is supported. It is not cached offline, so it needs a connection.

Takeaway

Know the quota that comes with each license before you move a mailbox into it, use the online archive to keep primaries lean, and set a retention tag that keeps doing that job after go-live. A monthly quota report closes the loop. None of it is complicated, and all of it is easier before the migration than during a failed move.

Related posts

More office 365 and exchange migrations

Need a hand with this?

Tell us what you are running and what is slowing you down. You get a straight assessment and a plan, with no obligation. Support desk is staffed 24/7.

Get in touch