Search code examples
sql-serverfull-text-indexing

How to define if rebuilding of the full text index has finished?


Got a requirement to rebuild mssql full-text index.
Problem is - I need to know exactly when job is done. Therefore - just calling:

ALTER FULLTEXT CATALOG fooCatalog
REBUILD WITH ACCENT_SENSITIVITY = OFF  

doesn't work or I'm doing something slightly wrong. :/

Any ideas?


Solution

  • You can determine the status of the fulltext indexing by querying the indexing properties like this:

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

    Populate Status:
    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

    But also pay attention to this note in the article:

    The following properties will be removed in a future release of SQL Server: LogSize and PopulateStatus. Avoid using these properties in new development work, and plan to modify applications that currently use any of them.

    EDIT: Corrected link to a newer page and added quote from the note