Topic Last Modified: 2010-06-21

The Microsoft Exchange Server 2010 Management Pack for System Center Operations Manager includes a performance data collection engine that is used to query performance counter objects on computers running Exchange 2010. For this Operations Manager rule, data is collected by using the performance counter specified in the Details table.

To review the value of the performance counter that generated this alert, in Operations Manager, double-click this alert, and then click the General tab. Review the description of the alert that includes the variables specific to your environment.


Product Name


Product Version

14.0 (Exchange 2010)

Object Name

MSExchange Assistants - Per Assistant

Counter Name

Percentage of Failed Event Dispatchers

Instance Name


Sample Interval


Server Role

Ex14. Mailbox

Critical Error Threshold


Rule Path

Microsoft Exchange Server/Exchange 2010/Mailbox/Assistants

Rule Name

MSExchangeAssistants Percentage Failed Event Dispatchers - OOF Assistant


This Error event indicates that a percentage of Assistants Infrastructure dispatchers cannot communicate with the OOF Assistant. In this scenario, the automated out-of-office message functionality may not work for certain users.

The Assistants Infrastructure is part of the hosting application installation on servers that host the Mailbox server role. The Assistants Infrastructure is the component in Microsoft Exchange Server 2010 that separates message processing business logic from the information store. The separation of business logic from the store has the advantage of reducing the load on the store and makes it easier to implement changes in business logic design and testing. This business logic includes the following features:

  • E-mail retention

  • Resource scheduling

  • Automated out-of-office messages

  • Automated calendaring features

To handle business logic processing, the Assistants Infrastructure makes use of event-based and time-based assistants known as Mailbox Assistants. Event-based assistants process tasks based on events from the information store. In this scenario, the Assistants Infrastructure passes notifications to the appropriate assistant to perform a particular action or actions. The following assistants are event-based assistants:

  • Resource Booking Assistant

  • OOF Assistant

  • Calendar Attendant

To handle automated out-of-office messages, the Assistants Infrastructure uses the OOF Assistant.

When the Assistants Infrastructure is initialized by a hosting application, one of the objects that is created in memory is the DatabaseManager. This object is responsible for running all assistants, managing threads, handling errors, and monitoring databases. When the DatabaseManager object starts, it creates the following objects:

  • OnlineDatabase: This object manages per-database objects and data that is common to all assistants.

  • EventController: This object is the controller for event-based assistants

  • EventPoller: This object polls the messaging database and passes events to the EventDispatcher objects.

  • PoisonControl: This object records crash information to the registry

  • EventDispatcher: There is one of these objects for every mailbox in the mailbox database.

For event-based activities, the following generalized sequence of events occurs:

  • The EventPoller polls the messaging database for events to process. When an event occurs, the EventPoller creates an entry in the Watermark Table in the information store. This table is used to track the status of the event.

  • The Assistants Infrastructure generates a thread for the EventDispatcher for the appropriate mailbox.

  • The EventDispatcher thread notifies the appropriate event-based assistant to process the particular action.

In this alert, many Event Dispatchers cannot communicate with the OOF Assistant.

User Action

To resolve this problem, do one or more of the following:

  • Review the Application log and System log on your Exchange 2010 servers for related events. For example, events that occur immediately before and after this event may provide more information about the root cause of this error.

  • To review detailed information about the cause of this alert, use the Operations Console in Operations Manager. For more information, see the "Introduction" section in this topic.

  • Examine the event log entries for every Assistants Infrastructure and for every corresponding Assistant to determine the exception type. You may have to increase diagnostics logging to generate additional events. Any event that is generated in the Application log includes the exception type. You can use this type to determine whether the failure represents a permanent error or a transient error. Additionally, you can use this information to determine whether the failure is a database failure, a server failure, or a mailbox failure.

  • Collect performance information for all the Assistants Infrastructure counters by using the MSExchange Assistants object. Also, collect performance data for the particular Assistant object.There is one instance for every hosting application per database on the server. The instance name contains the service name of the hosting application's service together with the database name. Additionally, there is a total instance for every hosting application. The "total" captures consolidated values for every counter for all assistants that are hosted by the application.

  • Verify that the databases are mounted. Assistant instances are tied to databases. When a database is dismounted, the corresponding assistant instances are removed.

  • Use the Exchange Troubleshooting Assistant (ExTRA) to obtain Event Tracing for Windows (ETW) traces. For more information, see the Scotch's Blog article, Another Method of Obtaining ExTRA Traces. To obtain the Exchange Troubleshooting Assistant, see Microsoft Exchange Troubleshooting Assistant v1.1.

    The content of each blog and its URL are subject to change without notice. The content within each blog is provided "AS IS" with no warranties, and confers no rights. Use of included script samples or code is subject to the terms specified in the Microsoft Terms of Use.

  • Examine the watermark information in the configuration folder of the mailbox database's system mailbox. The Assistants Infrastructure saves event watermarks to indicate the last events that were successfully processed.

    • The Per Mailbox Watermark indicates the last event that was successfully processed for every mailbox.

    • The Per Database Watermark indicates the lowest numbered event that was successfully processed for any mailbox in the mailbox database.

  • Resolve your issue by using self-support options, assisted support options, and other resources. You can access these resources from the Exchange Server Solutions Center. From this page, click Self-Support Options in the navigation pane to use self-help options. Self-help options include searching the Microsoft Knowledge Base, posting a question at the Exchange Server forums, and others. Alternatively, in the navigation pane, you can click Assisted Support Options to contact a Microsoft support professional. Because your organization may have a specific procedure for directly contacting Microsoft Technical Support, be sure to review your organization's guidelines first.

For More Information

If you are not already doing so, consider running the Exchange tools created to help you analyze and troubleshoot your Exchange environment. These tools can help make sure that your configuration aligns with Microsoft best practices. They can also help you identify and resolve performance issues, improve mail flow, and better manage disaster recovery scenarios. To run these tools, go to the Toolbox node of the Exchange Management Console. To learn more about these tools, see Managing Tools in the Toolbox.