全文搜索故障排除
本节中的故障排除信息用于解决可能会导致全文搜索出错的问题。
本节内容
全文索引失败
描述可能的索引失败以及如何对其做出响应。故障排除:对事务日志进行还原后全文索引处于不一致状态
说明当还原日志备份之后全文索引处于不一致状态时将如何进行响应。全文填充(爬网)中错误的故障排除
介绍如何查找给定全文目录的全文爬网日志。此日志可用于诊断全文填充中的错误。故障排除:全文索引性能由于筛选进程而变慢
讨论全文索引过程中的性能下降问题(当使用多线程筛选器的文档包含使用单线程筛选器的嵌入文档时,就可能出现性能下降),同时介绍了解决方法。故障排除:对全文目录执行调查和清除任务
提供了一个关于典型的调查和清除任务的示例,当全文目录中出现问题时您可能需要执行此类任务。
其他疑难解答资源
有关 SQL Server 2008 中可能破坏现有全文搜索查询的更改的信息,请参阅SQL Server 2008 R2 中全文搜索的重大更改。
以下存储过程、视图和服务器配置选项可用于解决全文搜索问题:
default full-text language 选项
指定全文索引列的默认语言值。语言分析将对全文索引的所有数据执行,并且依赖于数据的语言。该选项的默认值为服务器的语言。FULLTEXTCATALOGPROPERTY
返回有关全文目录属性的信息。FULLTEXTSERVICEPROPERTY (Transact-SQL)
返回与全文引擎属性有关的信息。可以使用 sp_fulltext_service 设置和检索这些属性。sp_fulltext_keymappings
返回 keymap 内部表的内容。该表将自定义全文键值(行 ID)映射到全文索引的内部 DocId,全文索引使用该内部 DocId 映射基表中的给定行。sp_fulltext_pendingchanges
为正在使用更改跟踪的指定表返回未处理的更改,如挂起的插入、更新和删除等。sp_fulltext_service
更改 SQL Server 全文搜索的服务器属性。sp_help_fulltext_system_components
返回已注册的断字符、筛选器和协议处理程序的信息。sp_help_fulltext_system_components 还返回已经使用过指定组件的数据库和全文目录的标识符列表。sys.dm_fts_fdhosts
返回有关服务器实例中筛选器后台程序宿主的当前活动的信息。sys.dm_fts_index_keywords_by_document
返回有关指定表的文档级全文索引内容的信息。给定关键字可以出现在几个文档中。sys.dm_fts_index_keywords
返回有关指定表的全文索引内容的信息。sys.dm_fts_index_population
返回有关当前正在进行的全文索引填充的信息。sys.dm_fts_memory_buffers
返回有关属于特定内存池的内存缓冲区(作为全文爬网或全文爬网范围的一部分使用)的信息。sys.dm_fts_memory_pools
返回有关可供全文爬网或全文爬网范围的全文收集器组件使用的共享内存池的信息。sys.dm_fts_outstanding_batches
返回有关每个全文索引批次的信息。sys.dm_fts_parser
返回将给定断字符、同义词库和非索引字表组合应用于查询字符串输入后生成的最终词汇切分结果。此输出等效于将指定查询字符串发送到全文引擎后输出的结果。sys.dm_fts_population_ranges
返回有关与当前正在进行的全文索引填充相关的特定范围的信息。sys.fulltext_document_types
为可用于全文索引操作的每个文档类型返回一行。每行表示在 SQL Server 实例中注册的 IFilter 接口。sys.fulltext_index_fragments
每个全文索引片断在每个包含全文索引的表中各占一行。sys.fulltext_indexes
表对象的每个全文索引对应一行。sys.fulltext_languages
在 SQL Server 中注册了断字符的每种语言均存在对应的一行。每一行都显示了语言的 LCID 和名称。
有关全文属性和可用于获取每个属性的值的 Transact-SQL 函数的信息,请参阅全文目录和索引属性 (Transact-SQL)。
断字超时错误
在多种情况下会发生断字超时错误。有关这些情况以及如何进行响应的信息,请参阅 MSSQLSERVER_30053。