CREATE FULLTEXT CATALOG (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

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

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

重要

SQL Server 2008 (10.0.x) 以降では、フルテキスト カタログは仮想オブジェクトであり、ファイル グループには属しません。 フルテキスト カタログは、フルテキスト インデックスのグループを指す論理的概念です。

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}  
  

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

catalog_name

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

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

ON FILEGROUP filegroup
SQL Server 2008 (10.0.x) 以降では、この句は無効です。

IN PATH 'rootpath'

Note

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。

SQL Server 2008 (10.0.x) 以降では、この句は無効です。

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 権限も与えられている必要があります。

注釈

フルテキスト カタログ ID は、00005 から始まり、新しいカタログが作成されるたびに 1 ずつ増加します。

アクセス許可

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

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

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

関連項目