MSMQ 隊列未處理
我對 MSMQ 有一個相當不愉快的錯誤,即按照線上可用資訊無法解決的錯誤。這導致電子郵件(.EML 文件)進入 C:\inetpub\mailroot\Queue 並且只是坐在那裡不被發送。
環境資訊:有問題的伺服器是 Windows Server 2012 R2。我的 Active Directory 域控制器是 2012 R2,域和林級別是 2012 R2。我最近從 Exchange 2010 升級,通過創建 2012 R2 伺服器並在其上安裝 Exchange 2013 SP1,然後將其修補到 CU 19 並正常執行並接受來自執行 MSMQ 的伺服器的中繼郵件(通過 telnet 測試)。
事件日誌中顯示的錯誤是這個來源:
MSMQ Event ID: 2164 "The Message Queuing service will not join the MyDomainName domain. An MSMQ Configuration (msmq) object exists in the new domain with an ID differing from the service ID. Please delete the MSMQ Configuration object in the new domain, restart the Message Queuing service, and log on again."
可用資訊我有兩個建議。1. 從 Active Directory 中刪除相關伺服器的 msmq。2. 確保該伺服器上的網路服務具有“創建 MSMQ 配置對象”的特定權限。
我已經在執行 MSMQ 的伺服器上通過 AD 刪除了 msmq 對象,並等待它在我的域控制器周圍複製。(並仔細檢查,確認它在每個 DC 上都消失了)。
對於下一階段,我嘗試了重新啟動和重新啟動服務,兩者都具有相同的效果。我重新啟動消息隊列服務(這樣做也會重新啟動消息隊列觸發器和 Net.Msmq 偵聽器適配器服務)。
我收到兩個新的 MSMQ 事件日誌錯誤。
MSMQ Event ID: 2116 "Message Queuing was unable to create the msmq (MSMQ Configuration) object in Active Directory Domain Services. Error c00e0025h"
直接出現此錯誤…
MSMQ Event ID: 2164 "The Message Queuing service failed to join the computer's domain 'MyDomainName'. Error 0xc00e0025"
如果我再次重新啟動服務,我最終會在事件日誌中返回此錯誤“消息隊列服務將不會加入 MyDomainName 域。新域中存在一個 MSMQ 配置 (msmq) 對象,其 ID 與服務 ID 不同. 請刪除新域中的 MSMQ 配置對象,重新啟動消息隊列服務,然後重新登錄。"
現在…在 Active Directory 中,我的伺服器已經針對它重新創建了 msmq。
我繞了一圈。我考慮過重新安裝 MSMQ,這需要刪除 App 伺服器功能和 .Net 4.5。這是一個執行一些 RDP 和 IIS 功能的生產伺服器,我擔心它會清除設置並可能破壞伺服器上執行的軟體。
在短期內,我編寫了一個 C# 程序來手動處理電子郵件隊列以使事情繼續進行,但這並不能解決問題。:(
有人對嘗試什麼或其他地方有任何想法或想法嗎?
安裝 MSMQ 時是否以域管理員身份登錄?
嘗試使用 Active Directory 集成安裝 MSMQ 時出現錯誤 0xC00E0033 https://blogs.msdn.microsoft.com/johnbreakwell/2009/10/21/error-0xc00e0033-when-you-try-and-install-msmq-with-活動目錄集成/
刪除過時的 MSMQ Active Directory 對象 https://blogs.msdn.microsoft.com/johnbreakwell/2009/12/16/deleting-stale-msmq-active-directory-objects/
在域中重新安裝 MSMQ 4.0 時要小心 https://blogs.msdn.microsoft.com/johnbreakwell/2007/05/15/watch-out-when-re-installing-msmq-4-0-in-a -領域/
我有同樣的問題,在 Windows 功能中解除安裝並重新安裝 MSMQ 為我修復了它。