2009-07-07 36 views
12

有重建mssql全文索引的要求。
问题是 - 我需要知道工作完成的时间。因此 - 只是打电话:如何重建全文索引?

ALTER FULLTEXT CATALOG fooCatalog 
REBUILD WITH ACCENT_SENSITIVITY = OFF 

不起作用,或者我做的事情有点不对。 :/

任何想法?

回答

18

您可以通过查询indexing properties这样确定全文索引的状态:

SELECT FULLTEXTCATALOGPROPERTY('IndexingCatalog', 'PopulateStatus') AS Status 

表全文填充状态

Displays the population status of the full-text indexed table. 

The possible values are as follows: 

0 = Idle. 

1 = Full population is in progress. 

2 = Incremental population is in progress. 

3 = Propagation of tracked changes is in progress. 

4 = Background update index is in progress, such as automatic change 

跟踪。

5 = Full-text indexing is throttled or pause 
+0

所以 - 最好的选择是在同时调用这个(状态!= 0)? – 2009-07-07 11:42:36

+0

呃......现在会好起来的。比等待X秒还是希望重建完成还要好。 – 2009-07-07 12:13:43

4

既然不能在Magnus的答案尚未置评(缺乏信誉的),我将其添加在这里。我发现根据this MSDN link,MSDN上存在信息冲突。据我引用链接时,PopulateStatus已下面列出10个可能的值:

0 = Idle. 

1 = Full population in progress 

2 = Paused 

3 = Throttled 

4 = Recovering 

5 = Shutdown 

6 = Incremental population in progress 

7 = Building index 

8 = Disk is full. Paused. 

9 = Change tracking