sp_help_fulltext_system_components (Transact-SQL)

适用于:SQL ServerAzure 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 文件 nlhtml.dll

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