sp_help_fulltext_system_components (Transact-SQL)
返回已注册的断字程序、筛选器和协议处理程序的信息。sp_help_fulltext_system_components 还返回已经使用过指定组件的数据库和全文目录的标识符列表。
语法
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