【问题标题】:How to define if rebuilding of the full text index has finished?如何定义全文索引的重建是否完成?
【发布时间】:2010-11-08 16:10:49
【问题描述】:

需要重建 mssql 全文索引。
问题是 - 我需要确切知道工作何时完成。因此 - 只需调用:

ALTER FULLTEXT CATALOG fooCatalog
REBUILD WITH ACCENT_SENSITIVITY = OFF  

不起作用,或者我做错了什么。 :/

有什么想法吗?

【问题讨论】:

    标签: sql-server full-text-indexing


    【解决方案1】:

    您可以通过查询indexing properties 来确定全文索引的状态,如下所示:

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

    填充状态:
    0 = 空闲
    1 = 全部填充正在进行中
    2 = 暂停
    3 = 节流
    4 = 正在恢复
    5 = 关机
    6 = 正在进行的增量填充
    7 = 建筑指数
    8 = 磁盘已满。已暂停。
    9 = 更改跟踪

    但也要注意文章中的这个注释:

    以下属性将在 SQL 的未来版本中删除 服务器:LogSize 和 PopulateStatus。避免在 新的开发工作,并计划修改当前的应用程序 使用其中任何一个。

    编辑:更正了指向较新页面的链接并添加了注释中的引用

    【讨论】:

    • 所以 - 最好的选择是在 while(status!=0) 中调用它?
    • 嗯……暂时还好。仍然比等待 X 秒并希望重建完成要好。
    • 是的,如果可以提出一些您可以订阅的事件,那就太好了,但据我所知,我认为没有一个事件......
    【解决方案2】:

    由于我还不能评论 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
    

    【讨论】:

    • 此列表可能比仅达到 5 的列表更正确。使用 SQL2012,我在重新填充全文索引表后立即看到状态为 9。
    【解决方案3】:
    SELECT name, case FULLTEXTCATALOGPROPERTY(name, 'PopulateStatus') 
        when 0 then 'Idle'
        when 1 then ' Full population in progress'
        when 2 then ' Paused'
        when 3 then ' Throttled'
        when 4 then ' Recovering'
        when 5 then ' Shutdown'
        when 6 then ' Incremental population in progress'
        when 7 then ' Building index'
        when 8 then ' Disk is full.  Paused.'
        when 9 then ' Change tracking' end AS Status
    from sys.fulltext_catalogs
    

    【讨论】:

      猜你喜欢
      • 2018-06-06
      • 2012-07-29
      • 1970-01-01
      • 2016-05-24
      • 1970-01-01
      • 1970-01-01
      • 2013-06-05
      • 2016-03-26
      • 1970-01-01
      相关资源
      最近更新 更多