Поделиться через


CREATE SEARCH PROPERTY LIST (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Создает новый список свойств поиска. В списке свойств поиска указывается одно или несколько свойств поиска, которые необходимо включить в полнотекстовый индекс.

Соглашения о синтаксисе 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. Кроме того, требуются необходимые разрешения для базы данных.

source_list_name
Указывает, что новый список свойств создается путем копирования существующего списка свойств из database_name. Если source_list_name не существует, то инструкция CREATE SEARCH PROPERTY LIST завершится ошибкой. Свойства поиска в source_list_name наследуются new_list_name.

AUTHORIZATION owner_name
Указывает имя пользователя или роли-владельца списка свойств. Аргумент owner_name должен быть именем роли, членом которой является текущий пользователь, или текущий пользователь должен иметь разрешение IMPERSONATE для owner_name. Если атрибут не указан, владельцем становится текущий пользователь.

Примечание.

Владельца можно изменить с помощью инструкции Transact-SQL ALTER AUTHORIZATION.

Замечания

Примечание.

Общие сведения о списках свойств см. в статье Поиск свойств документа с использованием списков свойств поиска.

По умолчанию новый список свойств, которые можно искать, пуст. В него необходимо вручную добавить одно или несколько свойств. В качестве альтернативы можно скопировать существующий список свойств поиска. В этом случае новый список наследует поисковые свойства своего источника, но его можно изменить, добавив или удалив определенные свойства. При следующем полном заполнении все свойства, приведенные в списке свойств поиска, заносятся в полнотекстовый индекс.

Инструкция CREATE SEARCH PROPERTY LIST завершится неуспехом при выполнении любого из следующих условий.

  • Если база данных, указанная параметром database_name, не существует.

  • Если список, указанный параметром source_list_name, не существует.

  • Если отсутствуют нужные разрешения.

Добавление и удаление свойств в списке

Разрешения

Необходимы разрешения CREATE FULLTEXT CATALOG в текущей базе данных и разрешение REFERENCES для любой базы данных, из которой копируется исходный список свойств.

Примечание.

Для связывания списка с полнотекстовым индексом требуется разрешение REFERENCES. Для добавления или удаления свойств, а также для удаления списка требуется разрешение CONTROL. Владелец списка свойств поиска может предоставить разрешения REFERENCES и CONTROL на список. Пользователи с разрешением CONTROL также могут предоставлять разрешение REFERENCES другим пользователям.

Примеры

А. Создание пустого списка свойств и связывание его с индексом

В следующем примере создается новый список свойств поиска с именем DocumentPropertyList. Затем инструкция ALTER FULLTEXT INDEX связывает новый список свойств с полнотекстовым индексом таблицы Production.Document из базы данных AdventureWorks без запуска заполнения.

Примечание.

Пример, в котором в этот список свойств поиска добавляются несколько стандартных, известных свойств поиска, приведен в статье ALTER SEARCH PROPERTY LIST (Transact-SQL). После добавления свойств поиска в список администратору базы данных необходимо будет использовать другую инструкцию ALTER FULLTEXT INDEX с предложением START FULL POPULATION.

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

B. Создание нового списка свойств на основе существующего

В следующем примере на основе списка, созданного в примере A (DocumentPropertyList), создается новый список свойств поиска (JobCandidateProperties), который будет связан с полнотекстовым индексом в базе данных AdventureWorks2022. Затем инструкция ALTER FULLTEXT INDEX связывает новый список свойств с полнотекстовым индексом таблицы HumanResources.JobCandidate из базы данных AdventureWorks2022. Эта инструкция ALTER FULLTEXT INDEX начинает полное заполнение — поведением по умолчанию для предложения SET SEARCH 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 для наборов свойств и целочисленных идентификаторов свойств для свойств поиска