SQL Server 2005 中全文搜索的行为更改

本主题介绍与 Microsoft SQL Server 的早期版本相比,全文搜索功能在行为上的更改。

行为更改

下表列出了这些行为更改。

行为更改

说明

主合并

在 SQL Server 2000 中,主合并在午夜启动,或者在对 500,000 个文档执行全文索引后启动。

在 SQL Server 2005 中,主合并既在完全填充结束时启动,也在达到全文索引文件数的内部阈值时启动。

主合并还会在对 500,000 个文档执行全文索引后启动,这与 SQL Server 2000 是相同的。

SQL Server 2005 还允许用户使用数据定义语言启动主合并。

MSSearch 服务

在 SQL Server 2000 中,全文搜索使用 MSSearch 服务作为全文索引和搜索引擎。而在 SQL Server 2005 中,此服务已重命名为 MSFTESQL 服务。MSFTESQL 引擎是基于 MSSearch 技术建立的。

与全文搜索相关的存储过程

由于与全文搜索相关的存储过程在 SQL Server 2005 中已重写,以使用新的全文数据定义语言 (DDL),因此,有些错误会导致语句级错误。

下列错误会导致语句级错误。其他失败为批处理级失败。

  • 权限检查失败。
  • 显式事务检查失败。(在显式用户事务内不能调用全文存储过程)。
  • mastertempmodel 数据库中执行与全文相关的操作。
  • 数据库非只读检查失败。
  • 数据库未启用全文模式。
  • 参数验证:
    • 找不到目录名。
    • 表名不存在,或者表不可进行全文索引。
    • 列名在表中无效。
    • 数据库名和表名等参数为空。

全文目录清除功能

无法在 SQL Server 2005 中运行 sp_fulltext_service 清除功能。

干扰词

在 SQL Server 2005 中,如果使用全文搜索谓词或函数的查询包含干扰词且 transform noise words 配置选项未选中,则会发出一个警告,并且不返回任何行。有关此选项的详细信息,请参阅transform noise words 选项

返回排名为 0 的行

在 SQL Server 2000 中,不返回排名为 0 的行。但在 SQL Server 2005 中,这些行包括在结果集中。这可能会影响存储过程和其他查询的结果。

运行 sp_fulltext_database

在 SQL Server 2005 中,对已启用全文索引的用户数据库运行 sp_fulltext_database 'enable' 不会执行任何操作。

ms143272.note(zh-cn,SQL.90).gif注意:

默认情况下,用户数据库是启用全文索引的。

请参阅

概念

SQL Server 2005 中全文搜索的重大更改

其他资源

全文搜索向后兼容性
全文搜索

帮助和信息

获取 SQL Server 2005 帮助