sp_help_fulltext_system_components (Transact-SQL)

适用于:SQL Server () Azure Synapse Analytics 支持的所有版本

返回注册的断字符、筛选器和协议处理程序的信息。 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'

根据组件类型, 参数 是以下选项之一:

  • LCID) (区域设置标识符
  • 前缀为“.”的文件扩展名
  • 协议处理程序的完整组件名称
  • 组件 DLL 的完整路径

返回代码值

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

结果集

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

列名称 数据类型 说明
componenttype sysname 组件的类型。 以下选项之一:

-滤波器
- 协议处理程序
- 断字器
componentname sysname 组件的名称
clsid uniqueidentifier 组件的类标识符
fullpath nvarchar(256) 指向组件位置的路径。

NULL = 调用方不是 serveradmin 固定服务器角色的成员
version nvarchar(30) 组件的版本
制造商 sysname 组件的制造商名称

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

列名称 数据类型 说明
dbid int 数据库的 ID
ftcatid int 全文目录的 ID

权限

需要 具有公共 角色的成员身份;但是,用户只能查看有关其具有 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 文件 ,默认情况下会安装该文件。

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

后续步骤