CREATE FULLTEXT CATALOG (Transact-SQL)

データベースのフルテキスト カタログを作成します。1 つのフルテキスト カタログには複数のフルテキスト インデックスを格納できますが、1 つのフルテキスト インデックスは 1 つのフルテキスト カタログにしか格納できません。各データベースには、任意の数のフルテキスト カタログを格納できます。

mastermodel、または tempdb の各データベースには、フルテキスト カタログは作成できません。

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

構文

CREATE FULLTEXT CATALOG catalog_name
     [ON FILEGROUP filegroup ]
     [IN PATH 'rootpath']
     [WITH <catalog_option>]
     [AS DEFAULT]
     [AUTHORIZATION owner_name ]

<catalog_option>::=
     ACCENT_SENSITIVITY = {ON|OFF}

引数

  • catalog_name
    新しいカタログの名前を指定します。このカタログ名は、現在のデータベース内にあるすべてのカタログ名の中で一意であることが必要です。また、フルテキスト カタログに対応するファイルの名前 (ON FILEGROUP を参照) は、データベース内にある全ファイルの中で一意であることが必要です。指定したカタログ名が、データベース内の別のカタログで既に使用されている場合は、エラーが返されます。

    カタログ名は半角 120 文字以内で指定してください。

  • ON FILEGROUP 'filegroup'
    新しいカタログが属する SQL Server ファイル グループの名前を指定します。ファイル グループを指定しない場合、新しいカタログはすべてのフルテキスト カタログに使用される既定のファイル グループの一部になります。既定のフルテキスト ファイル グループは、データベースのプライマリ ファイル グループです。フルテキスト カタログはセカンダリ ファイル グループに置くことをお勧めします。こうすると、フルテキスト カタログのファイル グループのバックアップと復元操作を、データ ファイルやログ ファイルとは独立して行えます。また、フルテキスト カタログをセカンダリ ファイル グループに置くことで、オンライン フルテキスト カタログを復元できます。

    フルテキスト カタログを作成するファイル グループには、使用可能なデータ ファイルが少なくとも 1 つ含まれる必要があります。このファイルは、フルテキスト カタログの一部の内部構造で使用されます。このファイルは SQL Server に格納されていますが、OFFLINE または READONLY とマークすることはできません。

    ファイル グループ内のカタログはファイルと同様に扱われ、その物理的な位置は sys.master_files 内のパスにより示されます。各フルテキスト カタログに作成されるファイルの名前は、sysft_ とカタログ名を結合した名前になります。たとえば、カタログ名が catname の場合、そのカタログに対応するファイルの名前は sysft_catname になります。

  • IN PATH 'rootpath'
    カタログのルート ディレクトリを指定します。rootpath を指定しない場合、新しいカタログはセットアップ時に指定された既定のディレクトリに配置されます。

    フルテキスト カタログは、SQL Server のインスタンスに関連付けられているローカル ハード ドライブ上に作成する必要があります。rootpath は相対パスで指定できません。このディレクトリは同じコンピュータ上のドライブに存在する必要があります。ドライブのルート (たとえば 'C:\') をフルテキスト カタログの保存場所として指定することもできますが、これは推奨されません。ネットワーク ドライブ、リムーバブル ドライブ、フロッピー ディスク、および UNC (汎用名前付け規則) パスはサポートされていません。フェイルオーバー クラスタ環境では、このパスは SQL Server リソースが依存する共有ディスク上に存在する必要があります。

    既存のフルテキスト カタログ名が不正なパスと共に指定されると、SQL Server ではエラーが返され、フルテキスト カタログは作成されません。指定した rootpath が存在しない場合、SQL Server ではパスが存在しないことを示すエラーが返されます。

    フルテキスト カタログの差分バックアップ、復元、復旧を行うには、フルテキスト カタログが NTFS ファイル システムのディレクトリに格納されている必要があります。差分バックアップ、復元、復旧は、NTFS 以外のファイル システムではサポートされていません。

    フルテキスト カタログは、指定したルート パス内のディレクトリとして作成され、このディレクトリ名はフルテキスト カタログの名前になります。カタログと同じ名前のディレクトリが既に存在する場合、カタログの名前にサフィックスが付加され、その名前で新しいディレクトリが作成されます。

    フルテキスト カタログを、c:\ のようなドライブのルートに作成しないでください。

  • ACCENT_SENSITIVITY = {ON|OFF}
    カタログのフルテキスト インデックス作成でアクセントを区別するかどうかを指定します。このプロパティを変更すると、インデックスの再構築が必要になります。既定では、データベースの照合順序の指定に従って、アクセントの区別が決定されます。データベースの照合順序を表示するには、sys.databases カタログ ビューを使用します。

    フルテキスト カタログのアクセントの区別に関する現在のプロパティ設定を確認するには、catalog_name に対して、FULLTEXTCATALOGPROPERTY 関数を accentsensitivity プロパティ値と共に使用します。値 '1' が返された場合、フルテキスト カタログではアクセントが区別され、値 '0' が返された場合、アクセントは区別されません。

  • AS DEFAULT
    カタログが既定のカタログであることを指定します。フルテキスト カタログを明示的に指定せずにフルテキスト インデックスを作成するときには、既定のカタログが使用されます。既存のフルテキスト カタログが既に AS DEFAULT となっている場合、この新しいカタログを AS DEFAULT として設定すると、新しいカタログが既定のフルテキスト カタログになります。
  • AUTHORIZATION owner_name
    フルテキスト カタログの所有者として、データベース ユーザーまたはロールの名前を設定します。owner_name がロールの場合、現在のユーザーがメンバとなっているロールの名前を指定するか、ステートメントを実行するユーザーがデータベース所有者またはシステム管理者であることが必要です。

    owner_name がユーザー名の場合、次のいずれかを指定する必要があります。

    • ステートメントを実行するユーザーの名前。
    • コマンドを実行するユーザーが持つ借用権限に対応するユーザーの名前。
    • コマンドを実行するユーザーがデータベース所有者またはシステム管理者であること。

    owner_name には、指定したフルテキスト カタログの TAKE OWNERSHIP 権限も与えられている必要があります。

権限

ユーザーは、データベースに対して CREATE FULLTEXT CATALOG 権限を持つか、db_owner 固定データベース ロールまたは db_ddladmin 固定データベース ロールのメンバであることが必要です。

次の例では、フルテキスト カタログとフルテキスト インデックスを作成します。

USE AdventureWorks;
GO
CREATE FULLTEXT CATALOG ftCatalog AS DEFAULT;
GO
CREATE FULLTEXT INDEX ON HumanResources.JobCandidate(Resume) KEY INDEX PK_JobCandidate_JobCandidateID;
GO

参照

関連項目

ALTER FULLTEXT CATALOG (Transact-SQL)
DROP FULLTEXT CATALOG (Transact-SQL)

その他の技術情報

フルテキスト検索
[新しいフルテキスト カタログ] ([全般] ページ)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手