Making Microsoft Exchange Servers to run smoothly at their best is to have a regular maintenance.
Exchange Server executes eleven automated maintenance tasks every day, you can schedule these task time at off peak time, and verify that the tasks are executed well and check your databases integrity and percentage of free space. It would also be a good idea to regularly have checks on your database backups and UPS(uninterruptible power supply) deployments.
2 reasons to run ExBPA Periodically
The Microsoft Exchange Best Practices Analyzer will help you confirm that your server is configured correctly and flag any errors.
Administrators typically run ExBPA after deploying a new Microsoft Exchange organization, then use the tool to fine-tune the organization. This helps to check everything is configured well and optimized correctly. Also adding a server can have negative performance of Exchange server. This avoids the growing pains.
Every time ExBPA runs, it checks a centralized database kept updated by Microsoft for its configuration. Running ExBPA regularly is thus recommended to improve the overall security and efficiency of exchange deployment in your organization.
Eleven maintenance tasks that Exchange server attempts to perform in each night.
- Purging the indexes on mailbox and public folder stores.
- Performing tombstone maintenance on mailboxes and public folders.
- Removing expired messages from the dumpster for the mailbox and public folder stores.
- Removing expired messages from public folders.
- Removing deleted public folders with tombstones more than 180 days old.
- Cleaning up message conflicts within public folders.
- Updating server version information on public folders.
- Duplicate site folders can be removed from public folder stores.
- Cleaning up deleted mailboxes on mailbox stores.
- Checking the message table for orphaned messages (messages with a reference count of 0).
- Performing an online defragmentation of the Store.
Defragmenting the Store is considered to be very important tasks when compared to the other tasks. Even the other tasks are important.
Automated maintenance tasks are carried out at predetermined times every night. When this process begins, Exchange starts from first task and move down in the list. If all the tasks are not completed within the allotted time, Exchange records which tasks have finished and which tasks have yet to be processed. The next night, the maintenance cycle begins with the first incomplete task from the night before.
The main exception to the rule is online defragmentation. The last 15 minutes of the maintenance cycle is set aside for defragmenting if atleast one maintenance task is deemed to be completed. Exchange server gives importance to defragmentation even if some tasks didn’t have time to complete. Exchange ensures If defragmentation hasn’t completed by the end of the specified time slot for automated maintenance, Exchange extends the maintenance cycle by up to an hour to ensure that the defragmentation has time to complete.
Maintenance process is resource intensive. Therefore it’s important to schedule the maintenance time when the Exchange server has a less workload, and at a time when it won’t interfere with backup task. If your Exchange server has multiple mailboxes, you might want to schedule the maintenance tasks to run at a different time for each one.
Perform Integrity Checks
It is always better to perform a manual check for integrity every now and then to make sure all the databases are in optimal condition and any corrective measures can be taken in advance if need be.
Before performing an integrity check, ensure that you have a full backup of the database. On performing manual database maintenance it can cause database corruption. Also ensure you have enough disk space. To repair on database it is always recommended to have more free space.
First dismount the database and use Isinteg command to check for errors in the database. Open a command prompt window, navigate to the \Program Files\Microsoft\Exchange Server\Bin folder, and enter the following command:
isinteg -s <servername> -test allfoldertests
When you run this command, you’ll get a list of the databases on the server.
Next, enter the number from the list for the database you want to test.
When Isinteg prompts; press Y to start the tests.
In case any errors are found, Isinteg tells you what corrective actions need to be taken.
A database-level integrity check by using Eseutil. if there is no error. It can be done by using the following command.
eseutil /G “<database file path>”
In the above command, you would replace <database file path> with the actual database path (in double quotes).
Check Your Database for Free Space
The downside of online defragmentation that is carried out as a part of nightly maintenance is that it doesn’t actually shrink the size of the database. Instead, empty database pages,otherwise called free space are just grouped together to make their use more efficient. But there are circumstances when you might need to shrink a database to have space.
For e.g., if you were to move databases to some other store in order to try and free up some space, you’d need an offline defragmentation option available.
If you need to remove free space from a database, you can do so with the Eseutil command. You’ll have to dismount the database first, and as always make sure you have a full backup of your exchange database before proceeding. If backups are in place and you have enough disk space, then you would want to enter the command :
eseutil /D “<database file path>”
Verify Your Backups
Testing your backups is something that needs to be done regularly. Have a restore drill and verify the database integrity checks. So that you can avoid if there is any corruption in the database will not be backed up. You can rectify the corrupted database and have a correct database as backup.
Verify Automatic Maintenance Tasks
Although most of the maintenance tasks of the exchange are automated, it’s still a good practice to keep a tab on them to make sure all tasks are getting completed. You can use telltale application log entries to figure out the state of the automated maintenance cycle. Some list of the event-log entries of interest:
- Event ID 1221—Tells you how much free space is in the database after online defragmentation..
- Event IDs 700 and 701—Give you the start and stop times of the online defragmentation process.
- Event IDs 9531–9535—Data on Mailboxes that have been deleted after their retention period is over
- Event IDs 1206 and 1207—Give you the start and stop times for the deletion of recovery items that are past their retention dates.
Track of Database Growth
Document the database growth on a mothly basis. Also document the recent backup of Exchange database. This statistics helps you to anticipate your server storage requirement and backup media capacity.
Check & remove the Stuck Messages.
Check & remove the Stuck Messages
Messages become stuck in Exchange’s queues. It’s a good idea to check the queues for any stuck messages that need to be removed.
Navigate through the console tree to Administrative Groups\your administrative group\Servers\your server\Queues. Select the Queues container, to view the Queue Viewer.
If you find a stuck message, you can use message tracking to troubleshoot the problem, or you can just delete the message. A nondelivery report (NDR) for deleted messages can also be sent if you wish to do so.
Test Your UPSs regularly
Testing UPS is an important activity for Exchange server. UPS is the one which should support Servers if there is an Electric fail. UPS are configured to shut down the server gracefully if the batteries run low. There are many chances where the UPS initiate the shutdown process of Exchange server but the battery fails before the shutdown completes. For this reason there is lot of chance to corrupt the database.Better to dismount the EDB database, so that there no data corruption will occur.Also conduct the UPS test on scheduled maintenance.