My son recently celebrated his 8th birthday, and my wife and I gave him a fish tank. All three of our sons are fascinated by the fish and will watch them swim around for extended periods. This is despite the fact that the fish don't do anything: All they do is swim around, accomplishing very little.
In the same vein, I recently read a report titled "Exchange Reliability and Its Impact on Organizations" from Ferris Research (http://www.ferris.com ), a well-known messaging-analysis firm. The report analyzed data from a survey Ferris analysts did of Exchange organizations and presented some conclusions; here's the finding that struck me the most:
"Routine system maintenance is critical for a healthy Exchange infrastructure. Exchange provides an online maintenance cycle, but it needs sufficient time to run. As database sizes increase, so does the backup window. This affects the maintenance time. Exchange administrators feel burdened by the daily and weekly tasks required to build and maintain a highly reliable Exchange solution. Better tools will reduce this burden."
I found this intriguing for several reasons. Of course, the first sentence is completely correct: Routine maintenance (more precisely, the scheduled daily maintenance tasks that Exchange performs during the maintenance window) is critical for the health and integrity of your Exchange databases.
The second sentence is correct, too, in that the built-in maintenance tasks have to be allowed to run to completion. The length of time required for this maintenance interval varies from day to day according to the amount of cleanup work that must be done. For example, an organization that has age limits on public folders should expect the maintenance task to run longer when lots of items age out at the same time (e.g., when Public Folders are used to store periodic reports that are generated and then expire after a certain time).
If you set the window too short, it'll take more windows (thus, more days) for the store to complete all of the maintenance subtasks. This makes online backups take longer. If you set the window too long, any online backup that starts during the maintenance window will stop any currently running online maintenance subtasks and block any new subtasks from starting. This argues in favor of making sure that the normal backup window and the normal online maintenance window don't overlap.
The Microsoft article "Exchange Server 2003 and Exchange 2000 Server information store maintenance and online defragmentation" (http://support.microsoft.com/?kbid=324358 ) talks about the maintenance tasks in more detail. The money sentence is this: "A subtask can start at any time during a specified maintenance window, but the subtask is not guaranteed to finish before the end of the maintenance window." So, allocating a fixed time window doesn't guarantee that all tasks finish in that window, merely that tasks will be started during that window.
The third and fourth sentences in the Ferris finding are where we start to run into trouble. It's true that larger databases generally take longer to back up than smaller ones, and it's also true that the amount of time the backup takes can influence the maintenance interval--but the relationship isn't quite as clear-cut as the Ferris report states.
There are two possibilities to consider: - If a backup starts in the middle of a maintenance window, maintenance stops until the backup completes. If the backup doesn't finish until after the end of the maintenance window, the existing maintenance tasks will still finish, but no new ones will start. - If a backup is running at the time that maintenance is supposed to start, the maintenance tasks will be deferred until the backup is over. If the backup finishes before the end of the maintenance window, the tasks will restart.
Either scenario isn't a problem if it only happens once in a while, but if it happens every day, it will prevent the database maintenance tasks from completing, and that's not healthy. Microsoft makes some recommendations about scheduling and timing of the online maintenance window in the "Exchange Store and Extensible Storage Engine Tuning" chapter of the Tuning Exchange Server 2003 Performance guide, which you can read at http://www.microsoft.com/technet/prodtechnol/exchange/guides/E2k3Perf_ScalGuide/c1af1369-c3cd-41ca-90f3-372e02ea30e4.mspx?mfr=true .
The closing two sentences bring me back to my original point about my son's fish tank. I'm not sure what daily and weekly tasks the Ferris report's author is talking about; by and large, the only daily tasks that Exchange administrators run are related to backup and restore processes, and they tend to already be highly automated. Like the fish that swim endlessly but never get anywhere, there are lots of other things you could do every day (e.g., brick-level backups, offline defragmentation) but that don't actually buy you anything. If you're among the administrators who feel burdened by the daily and weekly maintenance tasks required for your Exchange server, you should probably ask whether those tasks are really necessary. Drop me a line and let me know what indispensable tasks you perform on a regular basis and why you think they're necessary.