CREATE SEARCH PROPERTY LIST (Transact-SQL)

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

新しい検索プロパティ リストを作成します。 検索プロパティ リストは、フルテキスト インデックスに含める 1 つまたは複数の検索プロパティを指定するために使用します。

Transact-SQL 構文表記規則

構文

CREATE SEARCH PROPERTY LIST new_list_name  
   [ FROM [ database_name. ] source_list_name ]  
   [ AUTHORIZATION owner_name ]  
;  

引数

new_list_name
新しい検索プロパティ リストの名前を指定します。 new_list_name は最大 128 文字の識別子です。 new_list_name は、現在のデータベース内のすべてのプロパティ リストの中で一意であり、識別子の規則に準拠している必要があります。 new_list_name は、フルテキスト インデックスが作成されるときに使用されます。

database_name
source_list_name で指定したプロパティ リストが置かれているデータベースの名前です。 指定しない場合、database_name は現在のデータベースに設定されます。

database_name には、既存のデータベース名を指定する必要があります。 現在の接続のログインは、database_name で指定したデータベースの既存のユーザー ID に関連付ける必要があります。 また、データベースで要求される権限を持っている必要があります。

source_list_name
新しいプロパティ リストが、database_name の既存のプロパティ リストをコピーして作成されることを指定します。 source_list_nameが存在しない場合は、エラーでCREATE SEARCH PROPERTY LIST失敗します。 source_list_name の検索プロパティが、new_list_name によって継承されます。

AUTHORIZATION owner_name
プロパティ リストを所有するユーザーまたはロールの名前を指定します。 owner_name に現在のユーザーがメンバーとなっているロールの名前を指定するか、現在のユーザーが owner_name に対する IMPERSONATE 権限を持っている必要があります。 このオプションを指定しない場合は、所有権は現在のユーザーに与えられます。

Note

所有者は ALTER AUTHORIZATIONTransact-SQLステートメントを使って変更できます。

解説

Note

プロパティ リストについての一般的な情報については、「検索プロパティ リストを使用したドキュメント プロパティの検索」をご覧ください。

既定では、新しい検索プロパティ リストは空であるため、1 つまたは複数の検索プロパティを手動で追加する必要があります。 また、既存の検索プロパティ リストをコピーすることもできます。 その場合、コピー元の検索プロパティが新しいリストに継承されます。検索プロパティを追加または削除することによって、新しいリストに変更を加えることができます。 フルテキスト インデックスには、すべてのカタログを次回作成するときの検索プロパティ リスト内にあるプロパティが含まれます。

CREATE SEARCH PROPERTY LIST文は以下のいずれかの条件下で失敗します:

  • database_name で指定されたデータベースが存在しない場合。

  • source_list_name で指定されたリストが存在しない場合。

  • 正しい権限がない場合。

リストのプロパティを追加または削除するには

アクセス許可

現在のデータベースで CREATE FULLTEXT CATALOG 権限、ソースプロパティリストをコピーするデータベースで参照権限が必要です。

Note

リストとフルテキスト インデックスを関連付けるには、REFERENCES 権限が必要です。 プロパティを追加または削除するか、リストを削除するには、CONTROL 権限が必要です。 プロパティ リストの REFERENCES 権限または CONTROL 権限は、そのプロパティ リストの所有者が許可できます。 CONTROL 権限を持つユーザーは、他のユーザーに REFERENCES 権限を与えることができます。

例

A. 空のプロパティ リストを作成し、インデックスに関連付ける

次の例では、DocumentPropertyList という名前の新しい検索プロパティ リストを作成します。 例では、ALTER FULLTEXT INDEX文を用いて、新しいプロパティリストをProduction.Documentデータベースの AdventureWorks テーブルの全文インデックスに関連付け、母集団を開始しません。

Note

この検索プロパティリストにいくつかのあらかじめ定義されたよく知られた検索プロパティを追加する例は、 ALTER SEARCH PROPERTY LIST (Transact-SQL)を参照してください。 検索プロパティをリストに追加した後、データベース管理者はSTART FULL POPULATION節を含む別の ALTER FULLTEXT INDEX 文を使う必要があります。

CREATE SEARCH PROPERTY LIST DocumentPropertyList;  
GO  
USE AdventureWorks2022;  
ALTER FULLTEXT INDEX ON Production.Document   
   SET SEARCH PROPERTY LIST DocumentPropertyList  
   WITH NO POPULATION;   
GO   

B. 既存のプロパティ リストからプロパティ リストを作成する

次の例では、JobCandidateProperties データベースのフルテキスト インデックスに関連付けられた、例 A で作成したリスト DocumentPropertyList から、新しい検索プロパティ リスト AdventureWorks2025 を作成します。 例では、新しいプロパティリストをALTER FULLTEXT INDEXデータベース内の HumanResources.JobCandidate テーブルの全文インデックスに関連付けるために AdventureWorks2025 文を用います。 この ALTER FULLTEXT INDEX 文は完全な母集団を開始し、これは SETSEARCH PROPERTY LIST 節のデフォルトの動作です。

CREATE SEARCH PROPERTY LIST JobCandidateProperties 
FROM AdventureWorks2022.DocumentPropertyList;  
GO  
ALTER FULLTEXT INDEX ON HumanResources.JobCandidate   
   SET SEARCH PROPERTY LIST JobCandidateProperties;  
GO