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 = ] '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 資料庫的標識碼
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