Share via


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 = ] N'component_type' } ]
    [ , [ @param = ] N'param' ]
[ ; ]

引數

'all'

傳回所有全文檢索元件的資訊。

[ @component_type = ] N'component_type'

指定元件的類型。 @component_type為 sysname,而且可以是下列其中一個選項:

  • wordbreaker
  • filter
  • protocol handler
  • fullpath

如果指定完整路徑, @param 也必須使用元件 DLL 的完整路徑來指定,否則會傳回錯誤訊息。

[ @param = ] N'param'

@param為 sysname 預設值為 NULL。 視元件類型而定, @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 資料庫的標識碼
ftcatid int 全文檢索目錄的標識碼

權限

需要公用角色的成員資格;不過,使用者只能查看其具有 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