sp_fulltext_service (Transact-SQL)
适用范围:SQL Server
更改 SQL Server 全文搜索的服务器属性。
注意
SQL Server 2022(16.x)及更高版本中不支持该 upgrade_option
操作。 有关详细信息,请参阅本文后面的 SQL Server 2022 及更高版本 兼容性部分。
语法
sp_fulltext_service
[ [ @action = ] N'action' ]
[ , [ @value = ] value ]
[ ; ]
参数
[ @action = ] N'action'
要更改或重置的属性。 @action为 nvarchar(100),没有默认值。 有关@action属性的列表、其说明和可设置的值,请参阅@value参数下的表。
此参数返回以下属性:
- 数据类型
- 当前正在运行的值
- 最小值或最大值
- 弃用状态(如果适用)。
[ @value = ] value
@value为sql_variant,默认值为 NULL
.
指定属性的值。 @value 是 sql_variant,默认值为 NULL
. 如果 @value 为 null, sp_fulltext_service
则返回当前设置。 此表列出了操作属性及其说明以及可设置的值。
注意
将在 SQL Server 的未来版本中删除以下操作:clean_up
、connect_timeout
和data_timeout
resource_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 核心数。 如果未指定此参数,服务将使用较少的 4 CPU 或 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