簡體   English   中英

全文索引不更新(SQL 2005)

[英]full-text index not updating (SQL 2005)

我有一張表在上周完成了全文搜索工作。 有超過七百萬條記錄,我看到它在全文索引中有超過七百萬條記錄。

但是,搜索結果中顯示的不是一周之久。 我可以在表的全文索引屬性中看到,“待定”條目的數量越來越多(可能是今天的3萬個),可能與未添加到索引中的內容相對應。

我檢查的第一件事是索引是否已啟用。 它不是,所以我啟用它,啟動“ALTER FULLTEXT INDEX”作業的進程開始阻止服務器上的所有其他請求,所以我殺了它。

我已確認全文索引服務正在運行並自動啟動。 我還確認它會自動檢查更改,雖然將其從“自動”轉換為“手動”到“關閉”似乎沒有做太多事情,除了重置排隊結果的數量。 (將其轉回“自動”會將數字重置為30,000。)

我試圖重建全文索引,但對於“Full”和“Incremental”,它會拋出一條關於“已經存在索引”的消息。 “更新”說“命令已成功完成”,但似乎沒有任何效果。

我今天做的最后一件事是:

  1. 禁用全文索引
  2. 重建FTI所基於的聚簇索引
  3. 重新啟用FTI

這開始了“ALTER FULLTEXT INDEX”工作,再次阻止了所有正在進行實際工作的流程。

我們試圖在選項A之間做出決定:擦除現有的FTI並從頭開始重建,選項B:執行禁用/重建/重新啟用技巧,這似乎開始有用。 (我們會做B然后A,但是我們預計會有一兩個小時的停機時間,並且A過去也有效。)

有沒有更快的方法來做這些? 還有任何想法我是如何在這種情況下首先得到的?

這是一個有趣的問題。 我想你是因為它被禁用了。 我可能已經找到了一種方法可以讓你擺脫它而不會阻擋其他一切。

首先,要知道此行為是SQL Server 2005 SP1之前的錯誤,請確保您擁有SP1。

如果您已經這樣做,請嘗試:

ALTER FULLTEXT INDEX on tablename SET CHANGE_TRACKING MANUAL

ALTER FULLTEXT INDEX on tablename START UPDATE POPULATION

如果有效,那么我認為你和這個人遇到了同樣的問題。 他只是每小時左右開始工作。 當然,這是一個臨時解決方案,但它會給你時間,直到你可以實際重建索引。

剛想到的其他東西,你試過REORGANIZEing索引嗎? 我知道它沒有阻止,但我不確定它是否會導致刷新以這種方式發生以防止阻塞。

只是為了澄清你已經檢查過創建索引的分區是否有空格。 我們在DEV環境中遇到了這個問題,全文索引不會更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM