CREATE SEARCH PROPERTY LIST (Transact-SQL)
新しい検索プロパティ リストを作成します。 検索プロパティ リストは、フルテキスト インデックスに含める 1 つまたは複数の検索プロパティを指定するために使用します。
重要 |
---|
CREATE SEARCH PROPERTY LIST、ALTER SEARCH PROPERTY LIST、および DROP SEARCH PROPERTY LIST は、互換性レベル 110 でのみサポートされています。 互換性レベルが 110 未満の場合、これらのステートメントはサポートされません。 |
構文
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 権限を現在のユーザーが持っている必要があります。 このオプションを指定しない場合は、所有権は現在のユーザーに与えられます。注 所有者は、ALTER AUTHORIZATION Transact-SQL ステートメントを使用して変更できます。
説明
注 |
---|
一般的なプロパティ リストの詳細については、「検索プロパティ リストを使用したドキュメント プロパティの検索」を参照してください。 |
既定では、新しい検索プロパティ リストは空であるため、1 つまたは複数の検索プロパティを手動で追加する必要があります。 また、既存の検索プロパティ リストをコピーすることもできます。 その場合、コピー元の検索プロパティが新しいリストに継承されます。検索プロパティを追加または削除することによって、新しいリストに変更を加えることができます。 フルテキスト インデックスには、すべてのカタログを次回作成するときの検索プロパティ リスト内にあるプロパティが含まれます。
CREATE SEARCH PROPERTY LIST ステートメントは、次のような状況で失敗します。
database_name で指定されたデータベースが存在しない場合。
source_list_name で指定されたリストが存在しない場合。
正しい権限がない場合。
リストのプロパティを追加または削除するには
権限
現在のデータベースには CREATE FULLTEXT CATALOG 権限が必要であり、ソース プロパティ リストのコピー元のデータベースには REFERENCES 権限が必要です。
注 |
---|
リストとフルテキスト インデックスを関連付けるには、REFERENCE 権限が必要です。 プロパティを追加または削除するか、リストを削除するには、CONTROL 権限が必要です。 プロパティ リストの REFERENCE 権限または CONTROL 権限は、そのプロパティ リストの所有者が許可できます。 CONTROL 権限を持つユーザーは、他のユーザーに REFERENCES 権限を与えることができます。 |
使用例
A. 空のプロパティ リストを作成し、インデックスに関連付ける
次の例では、DocumentPropertyList という名前の新しい検索プロパティ リストを作成します。 次に、ALTER FULLTEXT INDEX ステートメントを使用して、新しいプロパティ リストを AdventureWorks データベースにある Production.Document テーブルのフルテキスト インデックスに関連付けます。このとき、カタログの作成は開始されません。
注 |
---|
定義済みで既知の検索プロパティをこの検索プロパティ リストに追加する例については、「ALTER SEARCH PROPERTY LIST (Transact-SQL)」を参照してください。 検索プロパティをリストに追加した後、データベース管理者は、START FULL POPULATION 句を指定して別の ALTER FULLTEXT INDEX ステートメントを使用する必要があります。 |
CREATE SEARCH PROPERTY LIST DocumentPropertyList;
GO
USE AdventureWorks;
ALTER FULLTEXT INDEX ON Production.Document
SET SEARCH PROPERTY LIST DocumentPropertyList
WITH NO POPULATION;
GO
B. 既存のプロパティ リストからプロパティ リストを作成する
次の例では、AdventureWorks データベースのフルテキスト インデックスに関連付けられた、例 A で作成したリスト DocumentPropertyList から、新しい検索プロパティ リスト JobCandidateProperties を作成します。 次に、ALTER FULLTEXT INDEX ステートメントを使用して、新しいプロパティ リストを、AdventureWorks データベースにある HumanResources.JobCandidate テーブルのフルテキスト インデックスに関連付けます。 この ALTER FULLTEXT INDEX ステートメントにより、すべてのカタログの作成が開始されます。これは、SET SEARCH PROPERTY LIST 句の既定の動作です。
CREATE SEARCH PROPERTY LIST JobCandidateProperties FROM AdventureWorks.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)