徵狀
請考慮下列情況。 根據預設,Exchange Search 會針對 Microsoft Exchange Server 2010 環境中的信箱資料庫啟用。 您可以在 [線上模式] 中使用 Microsoft Outlook 搜尋包含單一字母或單一數位之關鍵字或片語的信箱。 在這種情況下,您會收到下列錯誤訊息,即使信箱中有符合該關鍵字的專案:
找不到 [關鍵字] 的相符專案。 此外,也會在應用程式日誌中記錄下列事件:
記錄名稱: ApplicationSource: MSExchangeIS 信箱 StoreDate:日期事件 ID:9877Task 類別: Content IndexingLevel: ErrorKeywords: ClassicUser: N/AComputer:電腦描述:內容索引函式 [CISearch:: EcGetRowsetAndAccessor] 從 MSSearch 接收到不尋常的錯誤代碼。 信箱資料庫:信箱資料庫錯誤碼:0x80041606
注意: 0x80041606 = QUERY_E_TOOCOMPLEX
原因
之所以會發生此問題,是因為 Exchange Search 針對單一字元搜尋,有200000節點的硬編碼首碼搜尋限制。 當前綴搜尋超過這個限制時,搜尋會傳回QUERY_E_TOOCOMPLEX。因此, 0x80041606會記錄為事件 ID 9877 的一部分。 根據預設,在 Exchange 2010 環境中使用 Outlook online 模式的所有搜尋都是 [首碼搜尋]。 使用單一數位或字母,系統就會搜尋在整個信箱資料庫中以單一數位或字母開頭的所有數位或文字。 如果達到200000節點的預設限制,則搜尋會傳回錯誤。注意: 達到200000節點限制最常見的方式,就是搜尋包含單一數位或字母的單字或片語。 還有其他較不常見的原因,例如,使用許多 ANDs、Ors 和 NOTs 輸入非常複雜的搜尋。 此外,在 [寄件者] 和 [寄件者] 及 [寄件者] 和 [寄件者] 欄位中的數個專案,或是所有這些專案的組合,可能會造成限制。
解決方案
若要解決此問題,請安裝下列更新彙總套件:
2608646 Exchange Server 2010 Service Pack 1 的更新彙總套件6說明 重要 此章節、方法或工作包含有關如何修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必謹慎地依照這些步驟執行。 為加強保護,請先備份登錄再進行修改。 如果發生問題,您就可以還原登錄。 如需有關如何備份和還原登錄的詳細資訊,請按一下下列文章編號,檢視「Microsoft 知識庫」中的文章:
322756 如何在 Windows 中備份及還原登錄 安裝更新彙總套件之後,請遵循下列步驟,將查詢限制節點的最大數目設定為1000000(十進位):
-
驗證在過去一個月的特定 Exchange Server 2010 信箱伺服器上,您在應用程式記錄中收到0x80041606 事件的事件 ID 9877 數目,並記下該數位的記錄。
-
按一下 [開始]
,請在 [開始搜尋] 方塊中輸入regedit ,然後按 enter。 -
找出並按下列登錄機碼:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v14\ExSearch
-
按一下 [編輯],指向 [新增],然後按一下 [金鑰]。
-
輸入MaxRestrictionNodes,然後按 enter。
-
在 [ MaxRestrictionNodes] 底下,按一下 [編輯],指向 [新增],然後按一下 [ DWORD 值]。
-
輸入 [服務r],然後按 enter。
-
登錄專案現在應該如下所示: HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\ExchangeServer\v14\ExSearch\MaxRestrictionNodes\Server
-
按一下 [編輯],然後按一下 [修改]。
-
在 [值資料] 方塊中,輸入1000000 (十進位)。 注意: 在對註冊表進行任何變更之前, MaxRestrictionNodes\Server專案的預設值為200000(十進位)。
-
關閉登錄編輯程式。
注意事項
-
重新開機 Microsoft Exchange Search 索引子服務之後,請在應用程式中核取下列事件識別碼:
-
事件 ID 130 無法將從 MaxRestrictionNodes 登錄機碼讀入的 MailboxDB Guid 轉換成 Guid
-
事件 ID 131 無法開啟 MaxRestrictionNodes 登錄機碼
-
事件 ID 132 無法在索引子中設定 MaxRestrictionNodes 屬性
-
-
如果您收到這些事件中的任何一個,可能是因為您輸入的是登錄機碼或 DWORD 值不正確。 或者,您可能沒有正確拼寫新的金鑰或 DWORD 值。 進行必要的修正,然後重新開機 Microsoft Exchange Search 索引子服務。 搜尋事件 Id 130、131或132的任何新實例。
-
檢查應用程式日誌的每週和每月,視事件 ID 9877 的數目而定,以及應用程式記錄中的錯誤0x80041606。
-
如果您仍然收到大量這些事件,您可以將值遞增增加至2000000(十進位)。
-
請勿增加2000000(十進位)以外的值,因為這可能會降低伺服器的效能。
-
如果您已將該值增加至2000000(十進位),而且每週或每月都會收到這些事件,這就是預期的行為。 這種行為可能是因為使用者執行非常複雜的搜尋(如需詳細資訊,請參閱「症狀」一節)。
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
其他相關資訊
如需 Exchange 搜尋的詳細資訊,請造訪下列 Microsoft 網站:
Exchange 搜尋的一般資訊如需如何停用或啟用 Exchange 搜尋的詳細資訊,請造訪下列 Microsoft 網站:
如何停用或啟用 Exchange 搜尋的一般資訊如需MaxRestrictionNodes專案的詳細資訊,請造訪下列 Microsoft 網站: