sp_fulltext_service (Transact-SQL)

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

主题链接图标Transact-SQL 语法约定

语法

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

参数

  • [ @action=] 'action'
    要更改或重置的属性。action 的数据类型为 nvarchar(100),无默认值。有关 action 属性及其说明以及可设置的值的列表,请参阅 value 参数下面的表。该参数将返回下列属性:数据类型、当前运行值、最小值或最大值以及不推荐使用的状态(如果适用)。

  • [ @value=] value
    指定属性的值。value 的数据类型为 sql_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。

    upgrade_option

    int

    控制将数据库从 SQL Server 2000 或 SQL Server 2005 升级到 SQL Server 2008 或更高版本时迁移全文索引的方式。此属性适用于以下升级方式:附加数据库、还原数据库备份、还原文件备份或使用复制数据库向导复制数据库。

    以下值之一:

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

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

    2 = 导入全文目录。一般情况下,导入速度比重新生成速度要快很多。例如,当仅使用一个 CPU 时,导入的运行速度比重新生成要快 10 倍左右。不过,导入的全文目录不能使用 SQL Server 2008 中引入的新的和增强的断字符,因此最终可能还是要重新生成全文目录。

    注意注意
    重新生成可以在多线程模式下运行,如果可用的 CPU 在 10 个以上,且您允许重新生成操作使用所有这些 CPU,则重新生成操作的运行速度可能比导入更快。

    如果全文目录不可用,则会重新生成关联的全文索引。此选项仅对 SQL Server 2005 数据库可用。

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

    注意注意
    若要在 SQL Server Management Studio 中设置此属性,请使用“全文升级选项”属性。有关详细信息,请参阅如何查看或更改全文搜索的服务器属性 (SQL Server Management Studio)

    load_os_resources

    int

    指示是否在此 SQL Server 实例中注册并使用操作系统断字、词干分析器以及筛选器。以下值之一:

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

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

    默认情况下,禁用此属性以避免由操作系统更新引起疏忽性行为更改。如果允许使用操作系统资源,则可以访问在 Microsoft 索引服务注册但未安装特定于实例的资源的语言类型和文档类型的资源。如果允许加载操作系统资源,请确保操作系统资源为可信的已签名二进制文件;否则,当 verify_signature(请参阅下文)设置为 1 时,将无法加载这些资源。

    pause_indexing

    int

    指定当全文索引当前正在运行时是否应让其暂停,或者当全文索引当前处于暂停状态时是否应让其恢复运行。

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

    1 = 暂停服务器实例的全文索引活动。

    resource_usage

    int

    在 SQL Server 2008 及更高版本中不起作用,因而被忽略。

    update_languages

    NULL

    更新在全文搜索中注册的语言和筛选器的列表。这些语言是在配置索引和全文查询时指定的。筛选器后台程序宿主使用筛选器为全文索引从以 varbinary、varbinary(max)、image 或 xml 等数据类型存储的相应文件格式(如 .docx)中提取文本信息。

    有关详细信息,请参阅如何更改已注册的断字符和筛选器的列表 (Transact-SQL)

    verify_signature

    int

    指示全文引擎是否只加载已签名的二进制文件。默认情况下,只加载已签名的可信二进制文件。

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

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

返回代码值

0(成功)或 1(失败)

结果集

权限

serveradmin 固定服务器角色的成员或系统管理员可执行 sp_fulltext_service

示例

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

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

EXEC sp_fulltext_service 'update_languages';
GO

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

下面的示例更改全文升级选项以重置全文目录。这会将它们彻底删除。此示例指定了可选的 @action@value 关键字。

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