您必須重新開機訊息佇列服務,才能清除訊息檔


重要 本文包含如何修改註冊表的相關資訊。修改前,請務必先備份註冊表。如果發生問題,請務必瞭解如何還原註冊表。如需如何備份、還原及修改註冊表的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
256986 Microsoft Windows registry 說明

徵狀


Microsoft [訊息佇列] 訊息檔案會累積,只有當您啟動 [訊息佇列] 服務時,才會將它刪除。注意: Microsoft 訊息佇列也稱為 MSMQ。

原因


啟動時,訊息佇列服務會刪除可復原與事務性訊息的所有空白訊息檔案。 可復原與事務性訊息儲存檔案已成對,且格式為 Lnnnnnnn.MQ 和 Pnnnnnnnn.MQ 或 Jnnnnnnn.MQ。如需儲存目錄檔案的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
174307 在 Microsoft 郵件佇列伺服器和 Microsoft [郵件佇列] 中解釋儲存目錄中的檔案名
如果您沒有重新開機訊息佇列服務,則磁片儲存使用量會在上次重新開機訊息佇列服務之後,仍會保留在峰值需求。

解決方案


警告 如果您使用「登錄編輯程式」或其他方法不正確地修改登錄,可能會發生嚴重問題。 您可能需要重新安裝作業系統,才能解決這些問題。 Microsoft 不保證可以解決這些問題。 請自行承擔修改登錄的一切風險。下列修正程式會定期清除空白的訊息佇列訊息檔案。 [清除] 的預設間隔是6小時。 您可以使用新的登錄機碼來修改此間隔。 若要變更預設間隔,您必須在註冊表中新增 MessageCleanupInterval
  1. 啟動 [登錄編輯程式] (REGEDT32)。EXE)。
  2. 找出並選取以下登錄子機碼:
    HKEY_LOCAL_MACHINE\ Software\Microsoft\MSMQ\Parameters
  3. 從 [ 編輯 ] 功能表中,按一下 [ 新增值]。
  4. 在 [ 值名稱] 欄位中,輸入 MessageCleanupInterval
  5. 在 [ 資料類型] 欄位中,選取 [ REG_DWORD]。
  6. 針對資料值,輸入所需的間隔(以毫秒為單位)(例如,3600000(十進位)表示一小時)。
  7. 結束 [ 登錄編輯程式 ] 以儲存變更。
下次重新開機 [訊息佇列服務] 時,新的間隔將用來清除空白的訊息檔案。

狀態


Microsoft 已確認這是本文開頭所列的 Microsoft 產品中的錯誤。 此錯誤已在 Windows NT 4.0 (Service Pack 4)中修正。

參考


MSMQ 管理員指南;主題:郵件傳遞