本主题讨论“消息队列触发器”服务遇到的最常见问题。

您遇到了什么问题?

“消息队列触发器”服务无法启动。
  • 原因:“消息队列触发器”服务已被配置为在不具有适当管理员权限的域用户帐户下运行。

  • 解决方案:将“消息队列触发器”服务配置为在默认的网络服务帐户下运行,该帐户具有运行“消息队列触发器”服务的足够权限。或者,为自己授予必需的权限。触发器服务必须在具有管理员权限的帐户下运行。

  • 原因:“消息队列触发器”服务已失败。已调用的进程内组件对象模型 (COM) 有时可能失败,从而导致“消息队列触发器”服务失败。

  • 解决方案:修正导致 COM 组件失败的情况,然后重新启动“消息队列触发器”服务。

已定义触发器,但它似乎无法触发。
  • 原因:触发器当前已禁用。

  • 解决方案:确认已启用触发器。

  • 原因:没有为运行“消息队列触发器”服务的帐户授予被监视队列的“扫视消息”权限。或者,触发器的消息处理类型是检索或事务性检索时,没有为该帐户授予此队列的“接收消息”权限。

  • 解决方案:更改此队列的权限,然后重新启动“消息队列触发器”服务。

  • 原因:消息队列触发器服务未运行。

  • 解决方案:确认已启动此服务。

  • 原因:“消息队列触发器”服务已暂停。

  • 解决方案:确认此服务未处于暂停状态。若要执行此操作,请打开“计算机管理”,单击“服务和应用程序”,然后单击“服务”。在细节窗格中,如果“消息队列触发器”服务的状态被设置为“暂停”,请右键单击服务,然后单击“继续”

  • 原因:未满足所有触发器条件。如果任何触发器条件的值为假,将不会触发该触发器。

  • 解决方案:确认规则的所有条件为真。

  • 原因:在非管理员帐户下运行时,无法初始化“消息队列触发器”服务。

  • 解决方案:默认情况下,“消息队列触发器”服务将在网络服务帐户下运行。如果您已更改此默认值,请确保您已指定的帐户具有管理员权限。

随着更多消息到达被监视队列,“消息队列触发器”服务处理消息的速度会不均衡地减慢。
  • 原因:当“消息队列触发器”服务在较重负载下运行时这种情况是正常的。这种情况是因为已达到了最大线程数。

  • 解决方案:可以通过增加允许的最大线程数加速消息处理。若要执行此操作,请打开“计算机管理”,单击“服务和应用程序”,单击“消息队列”,右键单击“触发器”,然后单击“属性”。增加“最大线程数”中的最大线程数。

我无法在桌面上看到我的触发器应用程序,虽然我在任务管理器中看到该应用程序正在运行。
  • 原因:“消息队列触发器”服务默认在网络服务帐户下运行;只有本地系统帐户可以使用与桌面交互的功能。

  • 解决方案:将触发器服务配置为在本地系统帐户下运行,并使其与桌面交互。若要执行此操作,请在“计算机管理”中单击“服务”,并在细节窗格中双击“消息队列触发器”。单击“登录”选项卡,单击“本地系统”,然后选中“允许服务与桌面交互”复选框。


目录