次の方法で共有


sp_fulltext_catalog (Transact-SQL)

フルテキスト カタログの作成と削除、およびカタログのインデックス作成の開始と中止を行います。データベースごとに複数のフルテキスト カタログを作成できます。

ms189801.note(ja-jp,SQL.90).gif重要 :
sp_fulltext_catalog ストアド プロシージャは、将来のバージョンの SQL Server で削除される予定です。新しい開発作業では、この機能の使用を避け、現在このストアド プロシージャを使用しているアプリケーションは修正するようにしてください。代わりに新しいフルテキスト データ定義言語 (DDL) ステートメントを使用してください。詳細については、CREATE、ALTER、DROP FULLTEXT CATALOG の各トピックを参照してください。

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

構文

sp_fulltext_catalog [ @ftcat= ] 'fulltext_catalog_name' , 
     [ @action= ] 'action' 
     [ , [ @path= ] 'root_directory' ] 

引数

  • [ @ftcat=] 'fulltext_catalog_name'
    フルテキスト カタログの名前を指定します。カタログ名は各データベースで一意であることが必要です。fulltext_catalog_name のデータ型は sysname です。
  • [ @action=] 'action'
    実行するアクションを指定します。action のデータ型は varchar(20) で、次のいずれかの値を指定できます。

    ms189801.note(ja-jp,SQL.90).gifメモ :
    フルテキスト カタログは必要に応じて作成、削除、修正できますが、複数のカタログで同時にスキーマを変更することは避けてください。このようなアクションは、sp_fulltext_table ストアド プロシージャを使用して実行できます。これが推奨される方法です。
    説明

    Create

    ファイル システムに空の新しいフルテキスト カタログを作成し、fulltext_catalog_nameroot_directory が存在する場合はその値を使用して、sysfulltextcatalogs 内に関連する行を追加します。データベース内で fulltext_catalog_name は一意であることが必要です。

    Drop

    ファイル システムから該当ファイルを削除し、sysfulltextcatalogs 内の関連する行を削除することで、fulltext_catalog_name を削除します。このカタログに 1 つ以上のテーブルのインデックスが含まれている場合、このアクションは失敗します。カタログからテーブルを削除するには、sp_fulltext_table 'table_name','drop' を実行する必要があります。

    カタログが存在しない場合、エラーが表示されます。

    start_incremental

    fulltext_catalog_name の増分作成を開始します。カタログが存在しない場合、エラーが表示されます。フルテキスト インデックス作成が既にアクティブな場合、警告が表示され、作成は行われません。増分作成では、変更された行だけがフルテキスト インデックス作成用に取得されます。ただしフルテキスト インデックスが作成されるテーブルには、timestamp 列が含まれていることが前提となります。

    start_full

    fulltext_catalog_name の完全作成を開始します。既にインデックス作成が行われている場合でも、このフルテキスト カタログと関連するすべてのテーブルにあるすべての行が、フルテキスト インデックス作成用に取得されます。

    Stop

    fulltext_catalog_name のインデックス作成を中止します。カタログが存在しない場合、エラーが表示されます。インデックスの作成を既に中止している場合、警告は表示されません。

    Rebuild

    既存のフルテキスト カタログをファイル システムからいったん削除し、フルテキスト カタログを再作成した後、フルテキスト インデックスを参照するすべてのテーブルにこのフルテキスト カタログを再び関連付けることにより、fulltext_catalog_name を再構築します。

    再構築によって、データベース システム テーブルに格納されたフルテキスト メタデータが変わることはなく、新しく作成したフルテキスト カタログにこれらのデータが再び追加されることはありません。カタログを再作成するには、sp_fulltext_catalogstart_full または start_incremental アクションを指定して実行する必要があります。

  • [ @path=] 'root_directory'
    create アクションのルート ディレクトリです。物理的なフル パスではありません。root_directory のデータ型は nvarchar(100) で、既定値は NULL です。この場合、セットアップ時に指定された既定の場所が使用されます。これは、Mssql ディレクトリ内の Ftdata サブディレクトリです。たとえば、C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\FTData がこれに相当します。指定するルート ディレクトリは、同じコンピュータ上のドライブに存在している必要があります。ルート ディレクトリ名には、ドライブ文字だけを指定したり、相対パスを指定することはできません。ネットワーク ドライブ、リムーバブル ドライブ、フロッピー ディスク、および UNC パスはサポートされていません。フルテキスト カタログは、SQL Server インスタンスに関連付けられているローカル ハード ドライブ上に作成する必要があります。

    @path は、actioncreate の場合にのみ有効です。create 以外のアクション (stoprebuild など) の場合は、@path を NULL にするか省略します。

    SQL Server インスタンスがクラスタ内の仮想サーバーの場合、指定するカタログ ディレクトリは、SQL Server リソースが依存する共有ディスク ドライブ上にある必要があります。@path を指定しない場合、既定のカタログ ディレクトリの場所は、共有ディスク ドライブ上の、仮想サーバーのインストール時に指定したディレクトリになります。

結果セット

なし

解説

fulltext_catalog_name でフルテキスト データの完全なスナップショットを作成するには、start_full アクションを使用します。データベースで変更された行についてのみインデックスを再作成するには、start_incremental アクションを使用します。増分作成は、テーブルに timestamp 型の列がある場合のみ指定できます。フルテキスト カタログ内のテーブルに timestamp 型の列が含まれていない場合、そのテーブルでは完全作成が行われます。

フルテキスト カタログおよびインデックス データは、フルテキスト カタログ ディレクトリに作成したファイルに格納されます。フルテキスト カタログ ディレクトリは、@path で指定したディレクトリのサブディレクトリとして作成されます。@path を指定しない場合は、サーバーの既定のフルテキスト カタログ ディレクトリにサブディレクトリが作成されます。フルテキスト カタログ ディレクトリの名前は、サーバー上で一意になるように作成されます。したがって、特定のサーバー上のすべてのフルテキスト カタログ ディレクトリで、同じパスを共有できます。

権限

このストアド プロシージャを呼び出すには、db_owner ロールのメンバであることが必要です。必要なアクションに応じて、ユーザーは対象のフルテキスト カタログに対し、(db_owner が持つ) ALTER または CONTROL 権限を持っている必要があります。

戻り値

0 (成功) または 1 (失敗)

A. フルテキスト カタログを作成する

次の例では、AdventureWorks データベースに空のフルテキスト カタログ Cat_Desc を作成します。

USE AdventureWorks;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'create';
GO

B. フルテキスト カタログを再構築する

次の例では、AdventureWorks データベースで既存のフルテキスト カタログ Cat_Desc を再構築します。

USE AdventureWorks;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'rebuild';
GO

C. フルテキスト カタログの作成を開始する

次の例では、Cat_Desc カタログの完全作成を開始します。

USE AdventureWorks;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'start_full';
GO

D. フルテキスト カタログの作成を中止する

次の例では、Cat_Desc カタログの作成を中止します。

USE AdventureWorks;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'stop';
GO

E. フルテキスト カタログを削除する

次の例では、Cat_Desc カタログを削除します。

USE AdventureWorks;
GO
EXEC sp_fulltext_catalog 'Cat_Desc', 'drop';
GO

参照

関連項目

FULLTEXTCATALOGPROPERTY (Transact-SQL)
sp_fulltext_database (Transact-SQL)
sp_help_fulltext_catalogs (Transact-SQL)
sp_help_fulltext_catalogs_cursor (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)

その他の技術情報

フルテキスト検索

ヘルプおよび情報

SQL Server 2005 の参考資料の入手