本主題討論使用訊息佇列觸發程序服務時最常遇到的問題。

您遇到什麼問題?

訊息佇列觸發程序服務無法啟動。
  • 原因:  訊息佇列觸發程序服務已設定為在網域使用者帳戶下執行,但該帳戶沒有適當的系統管理權限。

  • 解決方案:  將訊息佇列觸發程序服務設定為在預設的網路服務帳戶下執行,該帳戶擁有執行訊息佇列觸發程序服務的適當使用權限。此外,請授與自己必要的使用權限。觸發程序服務必須在擁有系統管理權限的帳戶下執行。

  • 原因:  訊息佇列觸發程序服務失敗。啟動的同處理序元件物件模型 (COM) 元件有時候會失敗,因而導致訊息佇列觸發程序服務失敗。

  • 解決方案:  更正導致 COM 元件失敗的狀況,然後重新啟動訊息佇列觸發程序服務。

觸發程序已定義,但並未呈現觸發的狀態。
  • 原因:觸發程序目前已停用。

  • 解決方案:  確認觸發程序已啟用。

  • 原因:  執行訊息佇列觸發程序服務的帳戶尚未獲得授與監視佇列的「查看訊息」使用權限。或者,如果觸發程序的訊息處理類型是重建或交易重建處理類型,則尚未將該佇列的「接收訊息」使用權限授與該帳戶。

  • 解決方案:  變更佇列的使用權限,然後重新啟動訊息佇列觸發程序服務。

  • 原因:  訊息佇列觸發程序服務並未執行。

  • 解決方案:  確認此服務已啟動。

  • 原因:  訊息佇列觸發程序服務已暫停。

  • 解決方案:  確認此服務不在暫停狀態。若要執行此動作,請開啟 [電腦管理],按一下 [服務與應用程式],然後按一下 [服務]。在詳細資料窗格中,如果訊息佇列觸發程序服務狀態設定為 [暫停],請在該服務上按一下滑鼠右鍵,然後按一下 [繼續]

  • 原因:  未滿足所有觸發程序條件。如果有任何觸發程序條件評估為 False,將無法啟動觸發程序。

  • 解決方案:  確認規則的所有條件都是 TRUE。

  • 原因:  在非系統管理員帳戶下執行時,訊息佇列觸發程序服務無法初始化。

  • 解決方案:  訊息佇列觸發程序服務預設會在網路服務帳戶下執行。如果您變更了這個預設值,請確定您指定的帳戶擁有系統管理權限。

因為有多個訊息到達監視佇列,所以訊息佇列觸發程序服務處理訊息的速度會不成比例地變慢。
  • 原因:  如果訊息佇列觸發程序服務在高載量下執行,這就是正常現象。會發生此狀況是因為已達到執行緒最大數目。

  • 解決方案:  您可以增加可允許之執行緒的最大數目,藉以加速處理訊息的速度。若要執行此動作,請開啟 [電腦管理],依序按一下 [服務與應用程式][訊息佇列],於 [觸發程序] 上按一下滑鼠右鍵,然後按一下 [內容]。增加 [執行緒的最大數目] 中的執行緒最大數目。

在桌面上看不到觸發程序應用程式,但我在 [工作管理員] 中看到該應用程式正在執行中。
  • 原因:  訊息佇列觸發程序服務預設會在網路服務帳戶下執行,但只有在本機系統帳戶下執行時,才能與桌面功能互動。

  • 解決方案:  設定在本機系統帳戶下執行觸發程序服務,並讓它與桌面互動。若要這樣做,請按一下 [電腦管理] 中的 [服務],再按兩下詳細資料窗格中的 [訊息佇列觸發程序]。按一下 [登入] 索引標籤,再按一下 [本機系統],然後選取 [允許服務與桌面互動] 核取方塊。


目錄