Sql server SQL Server FTI:如何检查表状态?

Sql server SQL Server FTI:如何检查表状态?,sql-server,full-text-search,Sql Server,Full Text Search,在SQL Server全文索引方案中,我想知道表是否处于 start\u chage\u tracking模式 更新索引模式 start\u change\u tracking和start\u background\u updateindex模式 问题是,我将我的表设置为“后台更新索引”,然后告诉它“开始更改跟踪”,但几个月后,它似乎没有跟踪更改 如何查看“后台更新索引”和“更改跟踪”标志的状态 示例: sp_fulltext_table @tabname='DiaryEntry', @ac

在SQL Server全文索引方案中,我想知道表是否处于

  • start\u chage\u tracking
    模式
  • 更新索引
    模式
  • start\u change\u tracking
    start\u background\u updateindex
    模式
问题是,我将我的表设置为“后台更新索引”,然后告诉它“开始更改跟踪”,但几个月后,它似乎没有跟踪更改

如何查看“后台更新索引”和“更改跟踪”标志的状态

示例:

sp_fulltext_table @tabname='DiaryEntry', @action='start_background_updateindex' 

Server: Msg 15633, Level 16, State 1, Procedure sp_fulltext_table, Line 364
Full-text auto propagation is currently enabled for table 'DiaryEntry'.

sp_fulltext_table @tabname='Ticket', @action='start_background_updateindex' 
Server: Msg 15633, Level 16, State 1, Procedure sp_fulltext_table, Line 364
Full-text auto propagation is currently enabled for table 'Ticket'.
显然,一个表有一个索引状态,我只想知道它显示我可以向用户(即我)显示它

其他可用的API:

EXECUTE sp_help_fulltext_tables
只返回目录中的表,不返回它们的状态

TABLE_OWNER  TABLE_NAME  FULLTEXT_KEY_INDEX_NAME  FULLTEXT_KEY_COLID  FULLTEXT_INDEX_ACTIVE  FULLTEXT_CATALOG_NAME
===========  ==========  =======================  ==================  =====================   =====================
dbo          DiaryEntry  PK_DiaryEntry_GUID       1                   1                      FrontlineFTCatalog
dbo          Ticket      PK__TICKET_TicketGUID    1                   1                      FrontlineFTCatalog
我可以得到整个目录的PopulateStatus

SELECT FULLTEXTCATALOGPROPERTY('MyCatalog', 'PopulateStatus') AS PopulateStatus
它返回目录的状态:

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
但不是为了一张桌子


SQL Server 2000 SP4

SELECT @@version
Microsoft SQL Server  2000 - 8.00.194 (Intel X86) 
    Aug  6 2000 00:57:48 
    Copyright (c) 1988-2000 Microsoft Corporation
    Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4)

不管有什么bug,我都希望创建一个用户界面,以便轻松查看其状态。

您正在运行哪个版本的SQL/Service pack;这曾经是SQL2000中的一个bug

按此顺序执行sp_fulltext_表以临时修复问题。(磁盘空间不足可能是原因)

  • 停止\u更改\u跟踪
  • 开始更改跟踪
  • 停止\u后台\u更新索引
  • 启动\u后台\u更新索引

OK要监视状态,您需要在MSSQL提示上查看这个非常方便的资源;我想那里的剧本会给你你想要的东西。

基督。我有一个完整的格式很好的答案。当IE崩溃时,我正在滚动以点击save

简短版本:

OBJECTPROPERTY

  • TableFullTextPopulatus
  • TableFullTextBackgroundUpdateIndexOn
  • TableFullTextCatalogId
  • TableFullTextChangeTrackingOn
  • TableFullTextKeyColumn
  • TableHasActiveFulltextIndex
TableFullTextBackgroundUpdateIndexOn 1=正确 0=错误

TableFullTextPopulatus 0=没有人口 1=全部人口 2=人口增量

完整示例:

SELECT
    --indicates whether full-text change-tracking is enabled on the table (0, 1)
    OBJECTPROPERTY(OBJECT_ID('DiaryEntry'), 'TableFullTextChangeTrackingOn') AS TableFullTextChangeTrackingOn,

    --indicate the population status of a full-text table (0=No population, 1=Full Population, 2=Incremental Population)
    OBJECTPROPERTY(OBJECT_ID('DiaryEntry'), 'TableFullTextPopulateStatus') AS TableFullTextPopulateStatus,

    --indicates whether a table has full-text background update indexing (0, 1)
    OBJECTPROPERTY(OBJECT_ID('DiaryEntry'), 'TableFullTextBackgroundUpdateIndexOn') AS TableFullTextBackgroundUpdateIndexOn,

    -- provides the full-text catalog ID in which the full-text index data for the table resides (0=table is not indexed)
    OBJECTPROPERTY(OBJECT_ID('DiaryEntry'), 'TableFullTextCatalogId') AS TableFullTextCatalogId,

    --provides the column ID of the full-text unique key column (0=table is not indexed)
    OBJECTPROPERTY(OBJECT_ID('DiaryEntry'), 'TableFullTextKeyColumn') AS TableFullTextKeyColumn,

    --indicates whether a table has an active full-text index (0, 1)
    OBJECTPROPERTY(OBJECT_ID('DiaryEntry'), 'TableHasActiveFulltextIndex') AS TableHasActiveFulltextIndex

您是否尝试过sql提示链接?如果启用或禁用目录更改跟踪选项“填充状态行数全文搜索计数”总行数和全文搜索计数百分比之间的差异已完成全文搜索位置/路径可能是您的问题,则脚本将获取数据库表名称下的所有目录名称;但这不会告诉你它没有索引数据;只有它应该如何索引数据。