sys.dm_fts_index_population (Transact-SQL)

适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例

返回有关 SQL Server 中当前正在进行的全文索引和语义关键短语填充的信息。

列名称 数据类型 描述
database_id int 包含正在填充的全文索引的数据库 ID。
catalog_id int 包含此全文索引的全文目录的 ID。
table_id int 其全文索引正在被填充的表的 ID。
memory_address varbinary(8) 用于表示活动填充的内部数据结构的内存地址。
population_type int 填充类型。 下列类型作之一:

1 = 完全填充

2 = 基于时间戳的增量式填充

3 = 对跟踪的更改进行手动更新

4 = 对跟踪的更改进行后台更新。
population_type_description nvarchar(120) 对填充类型的说明。
is_clustered_index_scan bit 指示填充是否涉及对聚集索引的扫描。
range_count int 并行执行填充的子范围数。
completed_range_count int 处理完成的范围数。
outstanding_batch_count int 此填充当前未完成的批处理个数。 有关详细信息,请参阅sys.dm_fts_outstanding_batches(Transact-SQL)。
status int 适用于:SQL Server 2012 (11.x) 及更高版本。

此填充的状态。 说明:某些状态是暂时的。 下列类型作之一:

3 = 正在启动

5 = 正常处理

7 = 已停止处理

例如,正在进行自动合并时将出现此状态。

11 = 已中止填充

12 = 处理语义相似性提取
status_description nvarchar(120) 对填充状态的说明。
completion_type int 有关填充完成的状态。
completion_type_description nvarchar(120) 完成类型的说明。
worker_count int 此值始终为 0。
queued_population_type int 基于跟踪更改的填充类型,此类填充将在当前填充(如果存在)之后发生。
queued_population_type_description nvarchar(120) 对随后要进行的填充(如果存在)的说明。 例如,当 CHANGE TRACKING = AUTO 并且正在进行初始完全填充时,此列将显示“自动填充”。
start_time datetime 填充开始的时间。
incremental_timestamp timestamp 表示完全填充的开始时间戳。 对于所有其他填充类型,该值是表示填充进度的上次提交的检查点。

注解

如果除了全文索引之外还启用了统计语义索引,则关键字短语的语义提取和填充以及文档相似性数据的提取与全文索引同时发生。 文档相似性索引的填充在后面的第二阶段中发生。 有关详细信息,请参阅 “管理和监视语义搜索”。

权限

对于 SQL Server 和 SQL 托管实例,需要 VIEW SERVER STATE 权限。

在SQL 数据库基本、S0S1 服务目标以及弹性池中的数据库、服务器管理员帐户、Microsoft Entra 管理员帐户或服务器角色的成员##MS_ServerStateReader##身份是必需的。 对于所有其他 SQL 数据库服务目标,需要数据库的 VIEW DATABASE STATE 权限或 ##MS_ServerStateReader## 服务器角色中的成员身份。

SQL Server 2022 及更高版本的权限

要求对服务器具有 VIEW SERVER PERFORMANCE STATE 权限。

物理联接

sys.dm_fts_index_population的物理联接示意图。

关系基数

功能 关系
dm_fts_active_catalogs.database_id dm_fts_index_population.database_id 一对一
dm_fts_active_catalogs.catalog_id dm_fts_index_population.catalog_id 一对一
dm_fts_population_ranges.parent_memory_address dm_fts_index_population.memory_address 多对一

后续步骤

动态管理视图和函数 (Transact-SQL)
全文搜索和语义搜索动态管理视图和函数 (Transact-SQL)