On May 1, 2015 Microsoft announced a new support policy for repaired Exchange databases. The details are in this blog post from the Exchange team.
Simply put — if the Exchange database has previously been repaired (repair count greater zero), then the contents of that database needs to be moved to a new Exchange database.
The question will be asked: how can I determine the repair count of an Exchange database?
The suggested way is to use the ESEUTIL utility with the MH option:
eseutil /mh <exchange_mailbox_filename.edb>
Running this command does not modify or update Exchange. It simply displays information about the Exchange database. But be sure to dismount your Exchange database before running the command.
Finally, for the record books: back in August, 2006 I wrote a blog post titled: Defragging Exchange in 4 Easy Steps. This was written in the Exchange 2003 era.