FULLTEXTCATALOGPROPERTY (Transact-SQL)

傳回全文檢索目錄屬性的相關資訊。

主題連結圖示Transact-SQL 語法慣例

語法

FULLTEXTCATALOGPROPERTY ('catalog_name' ,'property')

引數

[!附註]

下列屬性會從未來的 SQL Server 版本中移除:LogSizePopulateStatus。請避免在新的開發工作中使用這些屬性,並規劃修改目前使用任何這些屬性的應用程式。

  • catalog_name
    這是一個包含全文檢索目錄名稱的運算式。

  • property
    這是一個包含全文檢索目錄屬性名稱的運算式。下表列出各個屬性,並提供傳回資訊的描述。

    屬性

    描述

    AccentSensitivity

    區分腔調字設定。

    0 = 不區分腔調字

    1 = 區分腔調字

    IndexSize

    顯示全文檢索目錄的邏輯大小,以 MB 為單位。

    如需詳細資訊,請參閱此主題稍後的「備註」。

    ItemCount

    目前在全文檢索目錄中的全文檢索索引項目數。

    LogSize

    支援這個項目的目的,只是為了與舊版相容。一律傳回 0。

    Microsoft 搜尋服務全文檢索目錄的相關錯誤記錄組合集大小 (以位元組為單位)。

    MergeStatus

    主要合併是否正在進行中。

    0 = 主要合併不在進行中

    1 = 主要合併在進行中

    PopulateCompletionAge

    前次全文檢索索引擴展完成和 01/01/1990 00:00:00 之間的時差 (以秒為單位)。

    只更新完整和累加搜耙的這個項目。如果未進行擴展,便傳回 0。

    PopulateStatus

    0 = 閒置

    1 = 完整擴展進行中

    2 = 已暫停

    3 = 調整執行速度

    4 = 復原中

    5 = 已關閉

    6 = 累加擴展進行中

    7 = 正在建立索引

    8 = 磁碟已滿,已暫停。

    9 = 變更追蹤

    UniqueKeyCount

    全文檢索目錄中唯一索引鍵的數目。

    ImportStatus

    是否正在匯入全文檢索目錄。

    0 = 沒有正在匯入全文檢索目錄。

    1 = 正在匯入全文檢索目錄。

傳回類型

int

例外

當發生錯誤,或呼叫者沒有檢視物件的權限時,便會傳回 NULL。

在 SQL Server 2008 中,使用者只能檢視使用者擁有或被授與某些權限之安全性實體的中繼資料。這表示發出中繼資料的內建函數 (例如,FULLTEXTCATALOGPROPERTY) 會在使用者不具有該物件任何權限時傳回 NULL。如需詳細資訊,請參閱<中繼資料可見性組態>和<中繼資料可見性疑難排解>。

備註

FULLTEXTCATALOGPROPERTY ('catalog_name' ,'IndexSize') 只會尋找具有狀態 4 或 6 的片段,如 sys.fulltext_index_fragments 中所示。這些片段是邏輯索引的一部分。因此,IndexSize 屬性只會傳回邏輯索引大小。不過,在索引合併期間,實際的索引大小可能會是其邏輯大小的兩倍。若要找出全文檢索索引在合併期間所使用的實際大小,請使用 sp_spaceused 系統預存程序。該程序會查看所有與全文檢索索引相關聯的片段。

應用程式不會在緊湊的迴圈中等待檢查 PopulateStatus 屬性是否成為閒置 (表示擴展已完成),因為這會使 CPU 循環離開資料庫和全文檢索搜尋處理序,而造成逾時。另外,在資料表層級上檢查對應的 PopulateStatus 屬性 (OBJECTPROPERTYEX 系統函數中的 TableFullTextPopulateStatus) 通常是比較好的選擇。OBJECTPROPERTYEX 中的這個屬性及其他新的全文檢索屬性,可提供更精細的全文檢索索引資料表相關資訊。如需詳細資訊,請參閱<OBJECTPROPERTYEX (Transact-SQL)>。

範例

下列範例會傳回名稱為 Cat_Desc 的全文檢索目錄中之全文檢索索引項目數。

USE AdventureWorks;
GO
SELECT fulltextcatalogproperty('Cat_Desc', 'ItemCount');
GO