Menu Close

[Solved]: Stalledduetotarget_contentindexing

Environment is operational Exchange 2016, one forest, one organization and two sites. A new Exchange 2019 Enterprise server with DAG enabled. The Exchange 2019 is a fresh installation. It’s routing inbound and outbound mail through the organization without flaw. Both servers in question above are virtual servers and both are at the same site and they are actually on the same switch.

We successfully moved some mailboxes from Exchange 2016 and when migrating remaining mailboxes from Exchange Admin Center (EAC) or PowerShell are stalling with the message “StalledDueToTarget_ContentIndexing”. Once we hit that message it goes no further.

StalledDueToTarget_ContentIndexing

What we have tried:

  • Stop or restart the services Microsoft Exchange Search and Microsoft Exchange Search host controller.
  • Checked that the group ContentSubmitters exist (it did) and add Full Control for “Network services”, then restart the search services.
  • Members include Domain Admins, Exchange Trusted Subsystem, Exchange Domain Servers, Exchange Org Admins and Exchange Servers.
  • Replication services have been restarted multiple times.
  • Disabled content indexing on the target database with the command Set-MailboxDatabase “db name” -IndexEnabled $false
  • Removing and recreating the move request.
  • Suspending and resuming the move request.
  • All content indexes on databases on both source and target servers are healthy.

Before we involve Microsoft support, let us quickly look at the Exchange Server database files. In Microsoft Exchange, all related data is created and stored in an Exchange Server database. This Exchange database consists of the following files:

  • EDB or Exchange Server Database file: This file contains user mailboxes, Public Folders, and other data. The maximum supported size of the file is 1 TB (Standard Edition) and 16 TB (Enterprise Edition) in Exchange.
  • LOG files: Exchange Server maintains a set of transaction log files for the database that records all the operations (create, modify, delete mailboxes or messages) and changes performed on the Exchange server database. It also acts as a middleman between the database and the user’s access.
  • CHK or Checkpoint files: These files record details of transaction logs that have been committed to the database file. It helps to recover data from an inconsistent database due to system failure or database corruption.

It seems the target database drives are short of space which causes the content indexing. For example, the drive has 100 MB free space but the source database is 1.24 GB.

We increased the drive space and removed the migration batch and started it again. Guess what, the Stalledduetotarget_contentindexing error disappears and the mailbox moved to Exchange 2019.

To avoid issues caused by insufficient storage space on transaction log volume, it is critical to truncate logs that are committed to the database. For this, you may enable circular logging or take regular full server backups to purge log files.

Should I enable circular logging in Exchange Server?

When to enable circular logging and clear the database logs? For example:

  • The disk is getting full, and you are not able to expand the disk.
  • There are problems with the backup software, and the logs are increasing.
  • Migrating mailboxes to that particular database.
  • The database is configured in a test environment.

Enable circular logging in EAC

Sign in to Exchange Admin Center (EAC). Go to servers and follow with databases at the top. Click the database and click the edit icon.

Click maintenance in the left panel and check the checkbox Enable circular logging and click Save.

A warning message will appear. The database needs to be dismounted and remounted before circular logging changes are applied. Click OK to close the warning message.

Enable circular logging with PowerShell

Run Exchange Management Shell. Check if circular logging is enabled on the mailbox database. We will run the Get-MailboxDatabase cmdlet. The output shows that circular logging is disabled.

We will run the Set-MailboxDatabase cmdlet and CircularLoggingEnabled parameter to enable circular logging.

Set-MailboxDatabase “Mailbox Database 1237333779” -CircularLoggingEnabled $True

Disable Circular Logging

Circular Logging is designed to prevent the build up of transaction logs (used for restoring data) and save space on the Microsoft Exchange Server. If incremental or differential backups of Exchange are desired, it is necessary to disable circular logging on the Exchange server.

Disable circular logging in EAC

  • Sign in to Exchange Admin Center (EAC). In the feature pane, go to servers and follow with databases in the tabs.
  • Select the database and click the edit icon in the toolbar.
  • Click maintenance in the left panel and uncheck the checkbox Enable circular logging. Finish with Save.

Disable circular logging with PowerShell

Run Exchange Management Shell as administrator. Check if circular logging is disabled on the mailbox database. We will run the Get-MailboxDatabase cmdlet.

We will run the Set-MailboxDatabase cmdlet and CircularLoggingEnabled parameter to disable circular logging.

Set-MailboxDatabase “Mailbox Database 1237333779” -CircularLoggingEnabled $False

Further, as emails are heavily used to share data, mailboxes often grow quite large and require more storage. Although large mailboxes can be stored in the Exchange database without any issues, it is critical to restrict the mailbox growth by applying Mailbox Quota Limits.

Configure storage quotas for a mailbox in Exchange Server

You can use the Exchange admin center (EAC) or the Exchange Management Shell to customize the mailbox storage quotas for specific mailboxes. Storage quotas let you control the size of mailboxes and manage the growth of mailbox databases. When a mailbox reaches or exceeds a specified storage quota, Exchange sends a descriptive notification to the mailbox owner.

Storage quotas are typically configured on a per-database basis. This means that the quotas configured for a mailbox database apply to all mailboxes in that database. For more information about managing per-database mailbox settings, see Manage mailbox databases in Exchange Server.

Use the EAC to set storage quotas for a mailbox

  1. In the EAC, navigate to Recipients > Mailboxes.
  2. In the list of user mailboxes, click the mailbox that you want to change the storage quotas for, and then click Edit.
  3. On the mailbox properties page, click Mailbox Usage, and then click More options.
  4. Click Customize the settings for this mailbox, and then set the following boxes. The value range for any of the storage quota settings is from 0 through 2047 gigabytes (GB).
    • Issue a warning at (GB): This box displays the maximum storage limit before a warning is issued to the user. If the mailbox size reaches or exceeds the value specified, Exchange sends a warning message to the user.
    • Prohibit send at (GB): If the mailbox size reaches or exceeds the specified limit, Exchange prevents the user from sending new messages and displays a descriptive error message.
    • Prohibit send and receive at (GB): If the mailbox size reaches or exceeds the specified limit, Exchange prevents the mailbox user from sending new messages and won’t deliver any new messages to the mailbox. Any messages sent to the mailbox are returned to the sender with a descriptive error message.
  5. Click Save to save your changes.

Use the Exchange Management Shell to configure storage quotas for a mailbox

This example sets the issue warning, prohibit send, and prohibit send and receive quotas for Joe Healy’s mailbox to 24.5 GB, 24.75 GB, and 25 GB respectively.

Set-Mailbox -Identity “Joe Healy” -IssueWarningQuota 24.5gb -ProhibitSendQuota 24.75gb -ProhibitSendReceiveQuota 25gb -UseDatabaseQuotaDefaults $false

This will help prevent mailbox growth beyond capacity. It will also help perform the administrative and management tasks, such as mailbox backup, migration, and recovery.

I hope this article was helpful. If you would like more tips, check out this article. Thank you for reading.

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *