Share via


內容索引狀態在 Exchange Server 2010 資料庫中仍然停滯在編目中

原始 KB 編號: 2820817

徵狀

在 Microsoft Exchange Server 2010 資料庫上,內容索引狀態會顯示為「編目」,而且永遠不會達到「狀況良好」的狀態。此外,即使 [成功編製索引的檔數目] 性能計數器顯示已編製索引的檔數目逐漸增加,但 [信箱左至編目數目] 計數器中的值不會如預期般減少。

在此情況下,下列事件會記錄在應用程式記錄檔中:

Time:
ID: 102
Level: Error
Source: MSExchange Search Indexer
Machine: Mailboxserver.contoso.com
Message: Exchange Search Indexer has failed to crawl the mailbox (8832ee80-47b8-4b0e-a98f-c4a239794707) in database (Database1) due to error: (Microsoft.Exchange.Search.MailboxCrawlFailedException: Failed to logon to mailbox). This mailbox will be retried later.
Time:
ID: 5617
Level: Error
Source: CI Troubleshooter
Machine: Mailboxserver.contoso.com
Message: CI troubleshooter exchange search service restart attempt 81.

原因

當 System Center Operations Manager 正在執行 Toubleshoot-CI.ps1 腳本時,就會發生此問題。 這會導致 Exchange 搜尋服務 在完成編製索引程式之前重新啟動。

解決方案

若要解決此問題,請防止 System Center Operations Manager 伺服器執行 Troubleshoot-CI.ps1 腳本,如下所示:

  1. 開啟 System Center Operations Manager。
  2. 按兩下 [管理元件物件>監視器]
  3. 在 [ 尋找] 方塊中,輸入 疑難解答,然後按兩下 [ 立即尋找]
  4. 找出對應至 Troubleshoot-CI.ps1 腳本的專案,以滑鼠右鍵按兩下它,然後按兩下 [ 屬性]
  5. 在 [ 覆寫] 索引 標籤上,按兩下 [ 覆寫]
  6. 取 [已啟用] 複選框,將 [ 覆寫值 ] 選項設定為 [False],然後按兩下 [ 確定]

其他相關資訊

一般而言,System Center Operations Manager 每兩小時會執行 Troubleshoot-CI.ps1 腳本。 不過,如果 Troubleshoot-CI.ps1 腳本偵測到下列其中一個徵兆,它會觸發 Exchange 搜尋服務的重新啟動:

  • 死結:從 MSSearch 等候線程時,Exchange 搜尋死結。
  • 損毀:一或多個搜尋索引已損毀。
  • 停滯:類似於索引未更新的死結。
  • 待處理專案:搜尋目錄會被備份,因此排程的索引搜尋不會如預期般執行。

以下是執行 Troubleshoot-CI.ps1 文稿時所記錄的事件範例:

Time:
ID: 5611
Level: Error
Source: CI Troubleshooter
Machine: Mailboxserver.contoso.com
Message: Indexing backlog reached a critical limit of 48 hours or the number of items in the retry queue is greater than 10000 for one or more databases: Database1 (0, 12572, 0)Database1 (0, 31859, 0)

如果資料庫有具有高專案計數的大型信箱或信箱,通常需要超過兩個小時才能完成索引編製程式。 當 Exchange 搜尋服務重新啟動時,信箱會放回清單中以進行重新編制。 在此情況下,編目程式可能永遠不會有機會完成。