Article ID: 324358 - Last Review: September 3, 2009 - Revision: 7.0 Exchange Server 2003 and Exchange 2000 Server information store maintenance and online defragmentationThis article was previously published under Q324358 On This PageSUMMARY This article discusses some of the internal workings of the
Microsoft Exchange Server information store maintenance interval and the online
defragmentation period. MORE INFORMATION When a public or private Messaging Database (MDB) is
started, a maintenance task is scheduled to run for that MDB. When the maintenance task (also known as a thread) runs for the MDB, it exhibits the behavior that is described in the following sections. Read maintenance scheduleExchange Server reads the maintenance schedule from the internal (in-store memory) MDB object if it is available, or from Active Directory if the MDB object is not available. The schedule uses one of the following styles:
If the schedule style is "Never," the maintenance task is skipped. If the schedule style is "Selected," the program determines whether the maintenance task runs in the current 15-minute period. If not, the maintenance task is skipped. If the maintenance schedule cannot be obtained, the default schedule of 12:00 midnight to 5:00 A.M. is used. Determine maintenance task to performThe maintenance task (thread) next reads a table in the Extensible Storage Engine (ESE) database to determine the last maintenance subtask that was performed.This value is used to determine which subtask is initiated first, and it makes sure that all of the maintenance subtasks are eventually run in a round-robin fashion. The following list describes the maintenance subtasks in the order in which they run:
Event ID 1208 - "Starting the IS Maintenance tasks."
Perform maintenance subtasksA selected maintenance subtask is evaluated to determine whether it is appropriate to run at the current time. 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.After a subtask is initiated, that subtask runs until it is complete. After a subtask is complete, the completed subtask is evaluated to determine whether it did the work that it was designed to do. For example, evaluation of the Purge Indices subtask will return a value of False if there were no indexes to clean up. After a subtask is complete, the following event ID message is logged by the information store service:
Event ID 1210 - "The IS Maintenance task subtask name completed." The information store continues to
operate on the next subtask unless that subtask is not scheduled to run in the
current time interval or unless the service has completed all of the tasks one
time during the current maintenance window.When the last subtask is run for the current maintenance window, the maintenance subtask that is performed is saved to a table in the ESE database so that it can be read when maintenance is started again. Most tasks run only one time in a 24-hour period no matter how many information store maintenance intervals are scheduled. Maintenance tasks endWhen the program determines that no more subtasks are scheduled for the current maintenance window, the following event ID message is logged by the information store service:
Event ID 1209 - "The IS Maintenance tasks completed."
Online defragmentationIf at least one subtask completed successfully and performed work that resulted in a database change, online defragmentation runs after information store maintenance is complete.By default, online defragmentation runs for a minimum of 15 minutes and a maximum of 1 hour after the information store maintenance period. To override the minimum time for Online Defragmentation, use the OLD Minimum RunTime registry value. To override the length of time that online defragmentation can run beyond maintenance, use the OLD Completion Time registry value. If the maintenance schedule style is not "Always," then a check is performed to see how long online defragmentation can run. The amount of time left in the maintenance window is determined and added to the OLD Completion Time value (by default, 1 hour). This accounts for situations where the last subtask runs a little longer than the configured maintenance schedule. If the calculated value is less than the OLD Minimum RunTime value, the calculated value is set to OLD Minimum RunTime. After online defragmentation is complete, a store routine calculates the number of free megabytes left in the database and logs the following event ID message:
Event ID: 1221 - The database name has amount megabytes of free space after online defragmentation has terminated.
Note The free space that is reported in Event ID 1221 is only for the EDB file and does not include the free space for the STM file.
Reference: http://technet.microsoft.com/en-us/library/aa996139(EXCHG.65).aspx
(http://technet.microsoft.com/en-us/library/aa996139(EXCHG.65).aspx)
. After the online defragmentation process is complete, the next
time period for maintenance to run is calculated and scheduled. How to enable logging for a particular Exchange Server serviceTo enable logging for a particular Exchange Server service, follow these steps:
| Article Translations
|
Back to the top
