So, you’ve got this cool setup with Exchange 2016 doing its thing, right? Now, enter the star of the show, a brand-new Exchange 2019 Enterprise server with DAG magic activated! It’s a fresh install and is rocking the inbound and outbound mail routing like a champ through the organization. Fun fact: both servers are virtual buddies, hanging out at the same site, and they’re even on the same switch. Talk about teamwork!
Looks like you’re on the right track with moving some mailboxes from Exchange 2016! However, it seems like you’re facing a little hiccup when trying to migrate the rest through Exchange Admin Center (EAC) or PowerShell, encountering the “StalledDueToTarget_ContentIndexing” message. Don’t worry—I’m here to help you troubleshoot and make sure the migration of those remaining mailboxes goes seamlessly. Let’s tackle this challenge together!
Here’s what we’ve been up to:
- We gave the Microsoft Exchange Search and Microsoft Exchange Search Host Controller services a little break—stopped and restarted them.
- Checked in on the ContentSubmitters group, made sure it exists, and generously granted “Full Control” to “Network services.” After that, we pressed the restart button on the search services.
- Our exclusive members’ list includes domain admins, Exchange Trusted Subsystem, Exchange domain servers, Exchange organization administrators, and Exchange servers.
- Replication services got a good workout with multiple restarts.
- We decided to take a breather for the target database by disabling content indexing. The command we used was Set-MailboxDatabase “db name” -IndexEnabled $false.
- Tried the classic move request removal and recreation—like a reset button but for emails.
- Gave the move request a pause and then hit play again—suspend and resume style.
- Checked the health of all content indexes on databases for both source and target servers, and they’re in tip-top shape!
Before we reach out to Microsoft support, let’s take a peek at the Exchange Server database files. In the world of Microsoft Exchange, everything revolves around these files—they’re like the backstage heroes. The Exchange database, our star, is composed of a few key players:
- EDB (Exchange Server Database) file: Think of it as the VIP section—it holds all the precious user mailboxes, public folders, and more. It’s got a limit though, 1 TB for the Standard Edition and a whopping 16 TB for the Enterprise Edition of Exchange.
- LOG files: The unsung heroes backstage, these files keep track of every move and groove in the database. From creating, modifying, to deleting mailboxes or messages, they’re the record keepers. They’re like the middlemen, ensuring smooth communication between the database and the user’s access.
- CHK (Checkpoint) files: The security detail of the operation. These files jot down the details of the committed transaction logs, making sure we can recover data if things go haywire—like a trusty sidekick for handling system failures or database hiccups.
Looks like we cracked the case! The target database drives were feeling a bit cramped, causing some content indexing hiccups. We gave them a little breathing room by boosting their space, waved goodbye to the migration batch, and hit restart. Voila! The dreaded Stalledduetotarget_contentindexing error vanished, and our mailbox happily settled into its new Exchange 2019 home.
To steer clear of future storage dramas, it’s crucial to keep an eye on those transaction log volumes. Truncate those logs that have done their duty in the database. You’ve got a couple of options here—either enable circular logging or be a diligent keeper of full server backups to tidy up those log files regularly. Smooth sailing from here on out!
What’s your take on turning on circular logging?
When is the right time to turn on circular logging and tidy up the database logs? For example:
- Running out of disk space, no room to expand
- Backup software glitches causing log overload
- Shifting mailboxes to a specific database
- Database set up and ready to roll in a test environment
Activate circular logging in EAC
- Hop into the Exchange Admin Center (EAC) and take a detour to the servers section.
- Once there, make a pit stop at the top for databases.
- Spot the database you’re after and give it a click. Feel free to jazz things up by hitting the edit icon. Easy peasy!
- Cruise over to the left panel and hit up maintenance.
- Find that nifty checkbox labeled “Enable circular logging” and give it a satisfying click.
- Seal the deal by hitting Save.
Oh, wait! A warning message might pop up, reminding you that the database needs a little dismount and remount action before circular logging takes effect. Just click OK to wave away the warning.
Active circular logging with PowerShell
Fire up the Exchange Management Shell. Peek into the circular logging status using Get-MailboxDatabase cmdlet. It’ll probably say it’s taking a break.
Get proactive with Set-MailboxDatabase cmdlet. Toss in the CircularLoggingEnabled parameter and set it to $True.
Set-MailboxDatabase “Mailbox Database 1237333779” -CircularLoggingEnabled $True
Boom, circular logging activated!
Deactivate circular logging
Circular logging swoops in like a superhero to rescue your Exchange Server from drowning in transaction logs. By preventing their relentless buildup, it’s like a space-saving wizard for your server.
But here’s the catch: if you’re eyeing those incremental or differential backups for your Exchange, you’ll need to bid adieu to circular logging. It’s a trade-off, but hey, sometimes you gotta let the superhero cape rest to make way for other backup heroes.
Deactivate circular logging in EAC
- Step into the Exchange Admin Center (EAC) like you own the place.
- Navigate to the servers in the feature pane, then smoothly slide over to the databases in the tabs.
- Locate your target database and give it the VIP treatment by clicking that fancy edit icon in the toolbar.
- Time for a detour to the left panel; click on maintenance.
- Find that checkbox playing hide and seek labeled “Enable circular logging” and uncheck it.
- Seal the deal with a triumphant click on Save. Ta-da! Circular logging bid adieu.
Deactivate circular logging with PowerShell
- Suit up and run the Exchange Management Shell with those sweet administrator privileges.
- Flex those PowerShell muscles and run the Get-MailboxDatabase cmdlet.
- Stick with the PowerShell groove and unleash the Set-MailboxDatabase cmdlet.
- Toss in the CircularLoggingEnabled parameter and set it to $False.
- Boom! Circular logging is now officially on vacation, thanks to your PowerShell wizardry.
Set-MailboxDatabase “Mailbox Database 1237333779” -CircularLoggingEnabled $False
Emails are like digital treasure chests, but sometimes they can bulk up and demand more storage space. While the Exchange database can handle those hefty mailboxes like a champ, it’s wise to play the role of the storage guardian by setting up mailbox quota limits. This way, you keep things tidy and prevent your mailboxes from going on a storage spree. It’s all about balance in the email universe!
Setup storage quotas for a mailbox in Exchange Server
You’ve got options for playing mailbox size maestro! Whether you’re vibing with the Exchange Admin Center (EAC) or rocking it old-school with the Exchange Management Shell, customizing mailbox storage quotas is a breeze.
These storage quotas are like the bouncers of the email club—they keep things in check and manage the growth of mailbox databases. When a mailbox decides to push its luck and hits or surpasses a designated quota, Exchange sends a polite heads-up to the mailbox owner.
Usually set up on a per-database basis, these quotas apply their size wisdom to all the mailboxes chillin’ in that database. For the full scoop on handling mailbox databases, you can dive into the details in the Manage mailbox databases in Exchange Server guide. Keep those mailboxes in check!
Use EAC to set storage quotas
- Cruise through the Exchange admin center, hitting up Recipients and making your way to Mailboxes.
- In the lineup of user mailboxes, find the chosen one and give it a click, then hit Edit.
- Jump to the mailbox properties page, locate Mailbox Usage, and dive into More options.
- Click on Customize the settings for this mailbox and let the tweaking begin. Set those boxes as your storage heart desires, keeping in mind the value range of 0 through 2047 gigabytes (GB).
Now, let’s decode the magic of these settings:
- Issue a warning at (GB): Be the bearer of good news. Set the max storage limit, and when the mailbox gets too cozy with it, Exchange sends a gentle warning to the user.
- Prohibit send at (GB): Play the message guardian. Once the mailbox size hits the limit, no more outgoing messages. Exchange drops a descriptive error message for the user’s enlightenment.
- Prohibit send and receive at (GB): Go big or go home. When the mailbox size flexes its muscles beyond this limit, Exchange locks it down—no new outgoing messages, and incoming messages are on hold. Senders get their messages back with a personalized error message.
- Seal the deal by hitting Save, and voila! Your customized mailbox storage settings are now officially in the spotlight.
Utilize Exchange Management Shell to configure storage quotas
Great stuff! If you’re looking to keep a user mailbox in check, here’s a handy PowerShell snippet to do the job:
Set-Mailbox -Identity “Test248” -IssueWarningQuota 24.5gb -ProhibitSendQuota 24.75gb -ProhibitSendReceiveQuota 25gb -UseDatabaseQuotaDefaults $false
This superhero command sets the warning, send, and send/receive quotas for Joe’s mailbox, ensuring it doesn’t go wild beyond 25 GB.
Why bother with this PowerShell magic? Well, it’s not just about preventing mailbox growth beyond capacity; it also makes your life easier when handling administrative tasks like backup, migration, and recovery.
Hope this little PowerShell adventure was helpful! If you’re hungry for more tips, check out the linked article. Thanks for reading!