sp_fulltext_service (Transact-SQL)

Applies to:SQL Server

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

Caution

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

Transact-SQL 语法约定

Syntax

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

Arguments

[ @action = ] N'action'

要更改或重置的属性。 @action is nvarchar(100), with no default. For a list of @action properties, their descriptions, and the values that can be set, see the table under the @value argument.

此参数返回以下属性:

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

[ @value = ] value

@value is sql_variant, with a default of NULL.

指定属性的值。 @value is sql_variant, with a default value of NULL. If @value is null, sp_fulltext_service returns the current setting. 此表列出了操作属性及其说明以及可设置的值。

Note

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

Action Data type Description
clean_up int 支持它仅仅是为了保持向后兼容。 该值始终 0为 .
connect_timeout int 支持它仅仅是为了保持向后兼容。 该值始终 0为 .
data_timeout int 支持它仅仅是为了保持向后兼容。 该值始终 0为 .
load_os_resources int 指示是否注册并使用此 SQL Server 实例的操作系统断字符、词干分析器和筛选器。 One of:

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 更新在全文搜索中注册的语言和筛选器的列表。 这些语言是在配置索引和全文查询时指定的。 Filters are used by the filter daemon host to extract textual information from corresponding file formats such as .docx stored in data types, such as varbinary, varbinary(max), image, or xml, for full-text indexing.

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

One of:

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

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

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

Note: Rebuild can run in multi-threaded mode, and if more than 10 CPUs are available, rebuild might run faster than import if you allow rebuild to use all of the CPUs.

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

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

Note: To set this property in SQL Server Management Studio, use the Full-Text Upgrade Option property. 有关详细信息,请参阅 管理和监视服务器实例的全文搜索
verify_signature 1 int 指示全文引擎是否仅加载已签名的二进制文件。 默认情况下,仅加载已签名的可信二进制文件。

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

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

1 When verify_signature is 1, the Full-Text Engine only checks the cached Certificate Revocation List (CRL) before loading binaries. You should periodically refresh your local CRL cache with certutil, when using third party binaries.

返回代码值

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

Result set

None.

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

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

Permissions

Only members of the serveradmin fixed server role or the system administrator can execute sp_fulltext_service.

Examples

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

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

EXECUTE sp_fulltext_service 'update_languages';
GO

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

以下示例更改全文升级选项以重置全文目录,并完全删除它们。 This example specifies the optional @action and @value arguments.

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