Exchange Server maintenance checklist: Avoid downtime, prevent disaster

Sponsored by Stellar Data Recovery

Exchange Server is an essential part of any organization and just like any other server, Exchange Server also requires consistent maintenance. As an Exchange administrator, your job is much more than just keeping a regular check on the Exchange Server health and installing updates. This article outlines the Exchange Server maintenance checklist to help you protect the Exchange database server from corruption, ensure smoother operation, avoid downtime, and hopefully prevent disasters. It also briefly guides you through the steps to perform Exchange Server maintenance tasks by using various tools. You cannot prevent disasters as these can happen at any time and without notice. However, you can minimize the business disruption with regular testing of the servers and the right disaster recovery plans.

Exchange Server maintenance checklist

Here is our list of 10 Exchange Server maintenance tasks to avoid common Exchange Server problems and manage the server hardware.

Tip: Before running these tasks, inform the users about server maintenance and possibly find the right maintenance window to keep the disconnections at a minimum.

1. Check and verify Exchange backups

Backups help during catastrophic server failure or database corruption that can lead to data loss. A granular backup is recommended for Exchange servers as it helps recover from server failure, database corruption, and accidentally deleted items or mailboxes. It also safeguards against the damage caused by unexpected events, such as a server crash.

In Exchange, you can use the Windows Server Backup or Exchange Management Shell to create backups. You may also manually back up the Exchange mailbox database files.

Besides creating and following a regular backup strategy with the right software to be application-aware to Exchange Server, you must also verify the backups on a daily basis to ensure that the data is backed up properly and can be restored when needed. Sometimes, the backup files get corrupt during the backing up process. Thus, by keeping a check on the backup, you can find if it is damaged and create a new backup before the disaster strikes. A test restore procedure should be in place and executed with a log.

You can use the PowerShell command to verify that each database on the selected volumes was backed up properly.

PowerShell
Get-MailboxDatabase -Server <ServerName> -Status | Format-List Name,*FullBackup

But if the backup doesn’t work or turns out as obsolete when required, you can use an Exchange recovery software like Stellar Repair for Exchange to recover mailboxes and data from offline or online mailbox databases on the Exchange Server, even if the database files are corrupted or damaged.

2. Verify database storage, memory, and CPU utilization

Low storage space on a server can lead to severe consequences, such as server crash, messaging failure, and downtimes. Thus, it is essential to check and free up the storage utilization on your server periodically. A real-time hardware and storage monitoring system should be in place to check if the storage is overconsumed or if the hardware usage is at its peak.

Exchange generates several log files, old software packages, and emails that consume a lot of storage space. You should check these log files every once in a while. If the log files are not necessary, consider archiving them on a local or external storage drive. Similarly, you can also archive the old emails and delete outdated software or update packages to free up the server storage.

Besides storage space, you must also keep an eye on the disk, memory, and CPU utilization. If the utilization frequently surpasses 90 percent, it can degrade the server performance and lead to email flow issues, slow login, etc.

In such a case, you can either upgrade hardware by increasing the server memory, storage, and processors, or add a new additional server in your organization. You can proceed with the upgrades after a thorough investigation of the server, as there could be a third-party culprit application or process overconsuming the resources.

To check and monitor the Exchange Server availability and health, you can use the following Exchange Management Shell command:

Test-Servicehealth

To check the resource utilization in Exchange Server, press Windows+R, type perfmon, and hit Enter.

3. Check Internet Information Services (IIS) logs and performance

IIS or Internet Information Services logs contain information related to the connection for HTTP/RPC, HTTP/MAPI, AutoDiscover, EWS, and OAB. Since all the traffic goes through IIS, the best way to analyze server connections and performance impact on the server is to check the IIS logs.

By checking the IIS logs, you can ensure efficient Exchange Server performance, response times, and monitor the various web services. For this, you can use the Log Parser Studio utility, which allows you to search IIS logs and create reports. Besides IIS, the utility also helps you extract valuable information from other logs.

4. Check event and security logs

Regular check on event logs can help you detect problems with the server. As an administrator, the Event Viewer should be the first place to look for details on the error. Windows Server records two kinds of event logs, namely:

  1. Windows Logs
  2. Application and Services Logs

In Exchange Server, each server component generates different events, which are logged in the Windows Logs. If a problem arises in the Exchange Server, you can use the Event Viewer to check detailed information about recent system failures or errors.

This check can help you identify and resolve the root cause of the problem efficiently.

5. Perform integrity checks

By performing integrity checks on the database, you can find a problem with the database file and then take appropriate measures to correct the problems. Although Exchange performs an automated database maintenance task, it’s crucial to run the integrity checks on the database manually.

However, before running the integrity checks, backup the database, and ensure the server has enough storage space (equivalent to database file size). A backup will help you in a rare case scenario where the database may get corrupt during maintenance tasks.

You can perform server-level and database-level integrity checks after dismounting the database. For this, you can use New-MailboxRepairRequest PowerShell cmdlets. In case a problem is found with the database after integrity checks, you may attempt to fix the problem with Eseutil.

Exchange Server maintenance checklist

But if the database is not fixed by Eseutil, you may use an Exchange recovery software, such as Stellar Repair for Exchange, to recover the mailboxes from the corrupt or damaged database and restore them to a new database on the Exchange Server.

6. Check messaging queue

Messages may get stuck in the messaging queue on the Exchange Server. Though it’s not common, it may happen and lead to delay in sending/receiving emails. Thus, it’s important to check on the messaging queues once every few days to remove any stuck messages or spam emails jamming the server.

Exchange Server maintenance checklist

In the Exchange Server, you can use the Queue Viewer tool to view queues and message properties in the queue. The tool is available in the Mail flow tools section under Exchange Toolbox. With Queue Viewer, you can manage the messages in the queue, perform various actions to clear the queue, and ensure smooth email flow. You may also use the Exchange Management Shell (EMS) command to check the messaging queue.

Get-Queue -Identity Submission | Select Identity, Status, MessageCount

7. Check and update antivirus/anti-malware protection

Antivirus software helps improve the security and health of the Exchange servers. It provides real-time protection against various threats by actively scanning and monitoring all active files and processes running on the system. You can also run manual scans to check other files stored on the server storage for viruses or schedule automatic scans.

However, if the antivirus software is not configured correctly and updated regularly, it can create problems and compromise the Exchange Server security. When purchasing or installing antivirus software on the server, always ensure that the application is compatible and application-aware for Exchange Server.

For instance, while scanning log files, the antivirus may lock the file, and Exchange may fail to update changes made to the database in the log file. This situation may lead to catastrophic server failure. Thus, it’s important to exclude these files from the antivirus tool.

8. Install OS and Exchange Server updates

Operating system updates bring important security patches, resolve various security risks, and improve server performance. Hackers often refer to these patches and attack vulnerable servers/systems, which are still pending for updates. Thus, it’s critical to install the OS updates as they arrive to avoid the “zero-day” exploit. Similarly, you should also update the Exchange regularly with its specific update.

Besides, based on your server configuration, you may have various other software or applications installed on your system like .NET Framework, Java, and others. You should check and update those as well regularly.

9. Run Exchange Best Practices Analyzer (BPA)

Exchange Best Practice Analyzer or ExBPA is a tool that collects data from Exchange servers, analyzes it, and then reports to the admins about the health of the Exchange Server environment. It displays if the Exchange Server is in line with the best practices recommended by Microsoft. The tool should be run periodically (every one or two months) to find, configure, and optimize things correctly.

You should also run the ExBPA every time after setting up a new server to ensure that the server is configured correctly and complies with Microsoft’s dynamic recommendations. The tool checks Microsoft’s centralized database for the latest recommendations, which you can apply to your Exchange servers and make them more secure and efficient.

10. Disaster recovery

As an Exchange administrator, you may face disasters such as server crash, mailbox or database corruption, etc. due to issues such as hardware or software failure, malware or virus attack, system crash, power outage, etc. The disaster may strike the Exchange Server unexpectedly and lead to data loss. To deal with the aftermath, you can use an Exchange recovery tool to fix and recover the Exchange mailbox database.

But you should also know about the three different levels of disaster recovery in Exchange, as follows:

  1. Server-level disaster recovery

For server-level disaster recovery, you can use Setup /M: RecoverServer switch to restore a failed server.

  1. Database-level disaster recovery

For database-level disaster recovery, you can use the Eseutil utility to bring the database into a clean shutdown state and restore it. You may also use the utility to repair corrupt database by performing soft or hard recovery based on the extent of database corruption.

  1. Mailbox-level

To restore a corrupt or damaged mailbox, you may use the New-MailboxRepairRequest PowerShell cmdlet in Exchange Management Shell (EMS).

Important note: It’s not necessary to perform each task in this checklist daily. Below is a table with the task list and its frequency, which you can follow for Exchange Server maintenance.

Task   Daily   Weekly Monthly Periodically
1. Check and verify exchange backups
2. Verify database storage, memory, and CPU utilization
3. Check Internet Information Services (IIS) logs and performance
4. Check event and security logs
5. Perform integrity checks
6. Check messaging queue
7. Check and update antivirus/anti-malware protection
8. Install OS and Exchange Server security updates
9. Run Exchange Best Practices Analyzer
10. Test restores from backup
11. Disaster recovery

To summarize

Exchange Server maintenance is a critical task that should be performed regularly to ensure business continuity and email flow. Regular Exchange Server maintenance reduces downtimes and failures due to unexpected events, such as a server crash. By following this checklist and performing routine Exchange Server maintenance, you can also minimize the efforts and save time. This will not only help you avoid minor issues but also safeguard you from disastrous events, such as database corruption or server failure. In addition, taking regular backups and a third-party Exchange recovery software like Stellar Repair for Exchange should also be considered an integral part of the overall server maintenance strategy to deal with Exchange disasters.

Featured image: Pixabay

About The Author

2 thoughts on “Exchange Server maintenance checklist: Avoid downtime, prevent disaster”

  1. Where exactly do you get Exchange Best Practices Analyzer for a modern version of Exchange 2016/2019. I thought MS stopped publishing it after Exchange 2013. Even the 2013 version which was called Office 365 Best Practices Analyzer for Exchange Server 2013 had significantly reduced capabilities compared to previous versions. There was a community version called Exchange Analyzer on GitHub, but development on that ended in 2017.

    1. You are correct! The ExBPA was included with Exchange 2007 and 2010 earlier but it no more ships with the later versions. It is available externally for Exchange 2013 and there is a community version as you mentioned called Exchange Analyzer, developed by a team of MVPs and specialists for Exchange 2013 or 2016.

Leave a Comment

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

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top