sp_help_fulltext_system_components (Transact-SQL)

返回已注册的断字程序、筛选器和协议处理程序的信息。sp_help_fulltext_system_components 还返回已经使用过指定组件的数据库和全文目录的标识符列表。

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

语法

sp_help_fulltext_system_components 
         { 'all'| [ @component_type = ] 'component_type' }
    , [ @param = ] 'param'

参数

  • 'all'
    返回所有全文组件的信息。

  • [ @component_type= ] component_type
    指定组件的类型。component_type 可以是下列各项之一:

    • wordbreaker

    • filter

    • protocol handler

    • fullpath

    如果指定了完整路径,则还必须使用组件 DLL 的完整路径来指定 param,否则将返回错误消息。

    注意注意

    有关全文搜索组件的信息,请参阅全文搜索的体系结构配置全文语言组件

  • [ @param= ] param
    根据组件类型,此参数可以是:区域设置标识符 (LCID)、带“.”前缀的文件扩展名、协议处理程序的完整组件名称或组件 DLL 的完整路径。

返回代码值

0(成功)或 1(失败)

结果集

为系统组件返回下列结果集。

列名

数据类型

说明

componenttype

sysname

组件的类型。可以是以下类型之一:

  • 筛选器

  • 协议处理程序

  • 断字符

componentname

sysname

组件的名称。

clsid

uniqueidentifier

组件的类标识符。

fullpath

nvarchar(256)

指向组件位置的路径。

NULL = 调用方不是 serveradmin 固定服务器角色的成员。

version

nvarchar(30)

组件的版本。

manufacturer

sysname

组件制造商的名称。

仅当存在一个或多个使用 component_type 的全文目录时,才返回以下结果集。

列名

数据类型

说明

dbid

int

数据库的 ID。

ftcatid

int

全文目录的 ID。

权限

需要有 public 角色中的成员身份;但是,用户只能看见他们对其拥有 VIEW DEFINITION 权限的全文目录的相关信息。只有 serveradmin 固定服务器角色的成员才能看见 fullpath 列中的值。

注释

此方法在准备升级时尤为重要。执行特定数据库中的存储过程,然后使用输出确定升级是否将影响特定目录。

示例

A. 列出所有全文系统组件

下面的示例列出了已经在该服务器实例上注册的所有全文系统组件。

EXEC sp_help_fulltext_system_components 'all';
GO

B. 列出断字符

下面的示例列出了在服务实例上注册的所有断字符。

EXEC sp_help_fulltext_system_components 'wordbreaker';
GO

C. 确定特定断字符是否已注册。

下面的示例列出了土耳其语 (LCID = 1055) 的断字符(如果已经在系统上安装该语言并已在服务实例上注册)。此示例指定了参数名称 @component_type@param

EXEC sp_help_fulltext_system_components @component_type = 'wordbreaker', @param = 1055;
GO

默认情况下,未安装此断字符,所以结果集为空。

D. 确定某个特定筛选器是否已注册。

下面的示例列出了 .xdoc 组件的筛选器(如果已经在系统上手动安装该组件并已在服务器实例上注册)。

EXEC sp_help_fulltext_system_components 'filter', '.xdoc';
GO

默认情况下,未安装此筛选器,所以结果集为空。

E. 列出特定 .dll 文件

下面的示例列出了特定的 .ddl 文件 nlhtml.dll,默认情况下会安装该文件。

EXEC sp_help_fulltext_system_components 'fullpath', 
   'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\nlhtml.dll';
GO