適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
新しい検索プロパティ リストを作成します。 検索プロパティ リストは、フルテキスト インデックスに含める 1 つまたは複数の検索プロパティを指定するために使用します。
構文
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文を用いて、新しいプロパティリストをAdventureWorksデータベースの Production.Document テーブルの全文インデックスに関連付け、母集団を開始しません。
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 を作成します。 例では、新しいプロパティリストをAdventureWorks2025データベース内の HumanResources.JobCandidate テーブルの全文インデックスに関連付けるために ALTER FULLTEXT INDEX 文を用います。 この 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
関連項目
ALTER SEARCH PROPERTY LIST (Transact-SQL)
DROP SEARCH PROPERTY LIST (Transact-SQL)
sys.registered_search_properties(Transact-SQL)
sys.registered_search_property_lists(Transact-SQL)
sys.dm_fts_index_keywords_by_property(Transact-SQL)
検索プロパティ リストを使用したドキュメント プロパティの検索
検索プロパティのプロパティ セット GUID およびプロパティ整数 ID の取得