sp_fulltext_service (Transact-SQL)

适用范围:SQL Server

更改 SQL Server 全文搜索的服务器属性。

注意

SQL Server 2022(16.x)及更高版本中不支持该 upgrade_option 操作。 有关详细信息,请参阅本文后面的 SQL Server 2022 及更高版本 兼容性部分。

Transact-SQL 语法约定

语法

sp_fulltext_service
    [ [ @action = ] N'action' ]
    [ , [ @value = ] value ]
[ ; ]

参数

[ @action = ] N'action'

要更改或重置的属性。 @action为 nvarchar(100),没有默认值。 有关@action属性的列表、其说明和可设置的值,请参阅@value参数下的表。

此参数返回以下属性:

  • 数据类型
  • 当前正在运行的值
  • 最小值或最大值
  • 弃用状态(如果适用)。

[ @value = ] value

@value为sql_variant,默认值为 NULL.

指定属性的值。 @valuesql_variant,默认值为 NULL. 如果 @value 为 null, sp_fulltext_service 则返回当前设置。 此表列出了操作属性及其说明以及可设置的值。

注意

将在 SQL Server 的未来版本中删除以下操作:clean_upconnect_timeoutdata_timeoutresource_usage。 请避免在新的开发工作中使用这些操作,并考虑修改当前使用上述任意操作的应用程序。

操作 数据类型 描述
clean_up int 支持它仅仅是为了保持向后兼容。 该值始终 0为 .
connect_timeout int 支持它仅仅是为了保持向后兼容。 该值始终 0为 .
data_timeout int 支持它仅仅是为了保持向后兼容。 该值始终 0为 .
load_os_resources int 指示是否注册并使用此 SQL Server 实例的操作系统断字符、词干分析器和筛选器。 下列其中一项:

0 = 仅使用特定于此 SQL Server 实例的筛选器和断字符。

1 = 加载操作系统筛选器和断字符。

默认情况下,禁用此属性以避免由操作系统更新引起疏忽性行为更改。 启用操作系统资源的使用可为未安装特定于实例的资源的Microsoft索引服务注册的语言和文档类型提供访问权限。 如果启用操作系统资源的加载,请确保操作系统资源是受信任的已签名二进制文件;否则, verify_signature 在设置为 1..
master_merge_dop int 指定主合并进程要使用的线程数。 此值不应超过可用 CPU 或 CPU 核心数。

如果未指定此参数,服务将使用较少的 4CPU 或 CPU 核心数。
pause_indexing int 指定是应暂停全文索引(如果当前正在运行)还是恢复(如果当前已暂停)。

0 = 恢复服务器实例的全文索引活动。

1 = 暂停服务器实例的全文索引活动。
resource_usage int SQL Server 2008(10.0.x)及更高版本中没有函数,并且将被忽略。
update_languages NULL 更新在全文搜索中注册的语言和筛选器的列表。 这些语言是在配置索引和全文查询时指定的。 筛选器后台程序主机使用筛选器从相应的文件格式.docx(如 varbinary、varbinary(max)图像xml 等数据类型中提取文本信息,以便进行全文索引。

有关详细信息,请参阅 查看或更改已注册的筛选器和断字符。
upgrade_option int 控制将数据库从 SQL Server 2005 (9.x) 升级到更高版本时如何迁移全文索引。 此属性适用于以下升级方式:附加数据库、还原数据库备份、还原文件备份或使用复制数据库向导复制数据库。

下列其中一项:

- 0 = 使用新的和增强的断字符重新生成全文目录。 重新生成索引可能需要一些时间,升级后可能需要大量的 CPU 和内存。

- 1 = 重置全文目录。 SQL Server 2005 (9.x) 将删除全文目录文件,但会保留全文目录和全文索引的元数据。 升级后,将禁用所有全文索引进行更改跟踪,并且不会自动启动爬网。 在升级完成后,目录将保留为空,直至手动执行完全填充。

- 2 = 导入全文目录。 通常,导入比重新生成更快。 例如,当仅使用一个 CPU 时,导入的运行速度比重新生成要快 10 倍左右。 但是,导入的全文目录不使用新的增强断字符,因此你可能想要重新生成全文目录。 在 SQL Server 2022(16.x)及更高版本中删除,并引发错误。

注意: 重新生成可以在多线程模式下运行,如果可用 CPU 超过 10 个,则重新生成的速度可能会比导入更快(如果允许重新生成)使用所有 CPU。

如果全文目录不可用,则重新生成关联的全文索引。 此选项仅适用于 SQL Server 2005 (9.x) 数据库。

有关选择全文升级选项的信息,请参阅升级全文搜索

注意: 若要在 SQL Server Management Studio 中设置此属性,请使用 全文升级选项 属性。 有关详细信息,请参阅 管理和监视服务器实例的全文搜索
verify_signature int 指示全文引擎是否仅加载已签名的二进制文件。 默认情况下,仅加载已签名的可信二进制文件。

1 = 验证是否只加载受信任的已签名二进制文件(默认值)。

0 = 不验证二进制文件是否已签名。

返回代码值

0(成功)或 1(失败)。

结果集

无。

与 SQL Server 2022 及更高版本的兼容性

SQL Server 2022 (16.x) 及更高版本中将删除操作@action = 'upgrade_option', @value = 2中的upgrade_option导入功能。 如果需要从旧版 SQL Server 导入全文索引,可以使用 SQL Server 2019 (15.x) 或更早版本导入它,然后升级到 SQL Server 2022 (16.x)。

权限

只有 serveradmin 固定服务器角色的成员或系统管理员才能执行sp_fulltext_service

示例

A. 更新已注册语言的列表

下面的示例更新已向全文搜索注册的语言的列表。

EXECUTE sp_fulltext_service 'update_languages';
GO

B. 更改全文升级选项以重置全文目录

以下示例更改全文升级选项以重置全文目录,并完全删除它们。 此示例指定可选的 @action@value 参数。

EXECUTE sp_fulltext_service
    @action = 'upgrade_option',
    @value = 1;
GO