次の方法で共有


FULLTEXTCATALOGPROPERTY (Transact-SQL)

 

SQL Server 2014 のフルテキスト カタログ プロパティについての情報を返します。

適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで)、SQL Database V12。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

FULLTEXTCATALOGPROPERTY ('catalog_name','property')

引数

注意

SQL Server の将来のリリースで削除される予定のプロパティ:LogSizePopulateStatus。新しい開発作業では、これらのプロパティの使用は避け、現在これらのプロパティのいずれかを使用しているアプリケーションは修正するようにしてください。

  • catalog_name
    フルテキスト カタログの名前を含む式を指定します。

  • property
    フルテキスト カタログのプロパティ名を含む式を指定します。次の表は、プロパティと、返される情報についての説明の一覧です。

    プロパティ

    説明

    AccentSensitivity

    アクセントの区別の設定。

    0 = アクセントを区別しない

    1 = アクセントを区別する

    IndexSize

    フルテキスト カタログの論理サイズ (MB 単位)。セマンティック キー フレーズとドキュメントの類似性のインデックスのサイズが含まれています。

    詳細については、後の「解説」を参照してください。

    ItemCount

    カタログのすべてのフルテキスト、キーフレーズ、ドキュメント類似性インデックスなどのインデックス項目の数。

    LogSize

    旧バージョンとの互換性のためにのみサポートされています。常に 0 が返されます。

    Microsoft Search サービスのフルテキスト カタログに関連付けられたエラー ログの結合セットのサイズ (バイト単位)。

    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

例外

Exception

Condition

エラーが発生した場合、または呼び出し元にオブジェクトの表示権限がない場合は、NULL が返されます。

SQL Server 2014 では、そのユーザーが所有しているか、または権限を与えられている、セキュリティ保護可能なアイテムのメタデータのみを表示できます。つまり、オブジェクトに対する権限がユーザーに与えられていない場合、メタデータを生成する組み込み関数 (FULLTEXTCATALOGPROPERTY など) が NULL を返す可能性があります。詳細については、「sp_help_fulltext_catalogs (Transact-SQL)」を参照してください。

解説

FULLTEXTCATALOGPROPERTY ('catalog_name','IndexSize') では、sys.fulltext_index_fragments で示されているように、状態が 4 または 6 のフラグメントのみを参照します。これらのフラグメントは、論理インデックスの一部です。したがって、IndexSize プロパティは論理インデックス サイズのみを返します。ただし、インデックス マージ中は、実際のインデックス サイズが論理サイズの 2 倍になる場合があります。マージ中にフルテキスト インデックスが使用している実際のサイズを確認するには、sp_spaceused システム ストアド プロシージャを使用します。このプロシージャは、フルテキスト インデックスに関連付けられているフラグメントをすべて調べます。フルテキスト カタログ ファイルの拡張を制限し、マージ処理のための十分な領域を割り当てていない場合、フルテキストの作成に失敗する可能性があります。この場合、FULLTEXTCATALOGPROPERTY ('catalog_name' ,'IndexSize') は 0 を返し、フルテキスト ログに次のエラーが書き込まれます。

Error: 30059, Severity: 16, State: 1. A fatal error occurred during a full-text population and caused the population to be cancelled. Population type is: FULL; database name is FTS_Test (id: 13); catalog name is t1_cat (id: 5); table name t1 (id: 2105058535). Fix the errors that are logged in the full-text crawl log. Then, resume the population. The basic Transact-SQL syntax for this is: ALTER FULLTEXT INDEX ON table_name RESUME POPULATION.

アプリケーションがタイト ループで待ち状態にならないよう注意してください。この状態では、PopulateStatus プロパティを確認するとアイドル状態になっており、またカタログ作成が終了している場合があります。この場合、データベースとフルテキスト検索のプロセスに CPU サイクルの割り当てがなくなり、タイムアウトが発生します。通常は、PopulateStatus プロパティに対応するテーブル レベルのプロパティを確認する方が便利です。OBJECTPROPERTYEX システム関数の TableFullTextPopulateStatus がこれにあたります。OBJECTPROPERTYEX で、このプロパティとその他の新しいフルテキスト プロパティを使用すると、フルテキスト インデックス作成テーブルに関するより詳細な情報を取得できます。詳細については、「OBJECTPROPERTYEX (Transact-SQL)」を参照してください。

使用例

次の例では、Cat_Desc という名前のフルテキスト カタログにあるフルテキスト インデックス項目の個数を返します。

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

参照

FULLTEXTSERVICEPROPERTY (Transact-SQL)
メタデータ関数 (Transact-SQL)
sp_help_fulltext_catalogs (Transact-SQL)