sp_fulltext_column (Transact-SQL)

Область применения:SQL ServerAzure Synapse Analytics

Определяет, должен ли конкретный столбец таблицы использоваться в полнотекстовом индексировании.

Внимание

Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте ALTER FULLTEXT INDEX .

Соглашения о синтаксисе Transact-SQL

Синтаксис

sp_fulltext_column
    [ @tabname = ] N'tabname'
    , [ @colname = ] N'colname'
    , [ @action = ] 'action'
    [ , [ @language = ] language ]
    [ , [ @type_colname = ] N'type_colname' ]
[ ; ]

Аргументы

[ @tabname = ] N'tabname'

Имя таблицы с одной частью или двумя частью. Таблица должна существовать в текущей базе данных. Таблица должна содержать полнотекстовый индекс. @tabname — nvarchar(517) без значения по умолчанию.

[ @colname = ] N'colname'

Имя столбца в @tabname. Столбец должен быть символом, varbinary(max)или изображением и не может быть вычисляемого столбца. @colname — sysname без значения по умолчанию.

SQL Server может создавать полнотекстовые индексы текстовых данных, хранящиеся в столбцах, которые имеют тип данных varbinary(max) или изображения . Изображения и рисунки не индексируются.

[ = ] @action 'action'

Действие, выполняемого. @action — varchar(20), без значения по умолчанию и может быть одним из следующих значений.

значение Описание
добавление Добавляет @colname @tabname в неактивный полнотекстовый индекс таблицы. Это действие активирует полнотекстовое индексирование столбца.
Падение Удаляет @colname @tabname из неактивного полнотекстового индекса таблицы.

[ @language = ] язык

Язык данных, хранящихся в столбце. @language имеет значение int с значением по умолчаниюNULL. Список языков, включенных в SQL Server, см. в sys.fulltext_languages (Transact-SQL).

Примечание.

Используется Neutral , если столбец содержит данные на нескольких языках или в неподдерживаемом языке. Значение по умолчанию указывается параметром конфигурации сервера по умолчанию полнотекстовый язык.

[ @type_colname = ] N'type_colname'

Имя столбца в @tabname , в котором содержится тип документа @colname. Этот столбец должен быть char, nchar, varchar или nvarchar. Он используется только в том случае, если тип данных @colname имеет тип varbinary(max) или image. @type_colname — sysname с значением по умолчаниюNULL.

Значения кода возврата

0 (успешно) или 1 (сбой).

Результирующий набор

Нет.

Замечания

Если полнотекстовый индекс активен, все выполняющиеся заполнения прекращаются. Кроме того, если в таблице с активным полнотекстовый индекс включен отслеживание изменений, SQL Server гарантирует, что индекс является текущим. Например, SQL Server останавливает любое текущее население таблицы, удаляет существующий индекс и запускает новую популяцию.

Если используется отслеживание изменений и нужно добавить или удалить столбец, сохранив полнотекстовый индекс, таблицу следует деактивировать, а затем добавить или удалить нужные столбцы. Эти действия закрепляют индекс. Таблица может быть активирована позже, когда имеет смысл начать заполнение.

Разрешения

Пользователь должен быть членом предопределенных ролей базы данных db_ddladmin или членом предопределенных ролей базы данных db_owner или владельцем таблицы.

Примеры

В следующем примере столбец DocumentSummary таблицы Document будет добавлен в полнотекстовый индекс этой таблицы.

USE AdventureWorks2022;
GO
EXEC sp_fulltext_column 'Production.Document', DocumentSummary, 'add';
GO

В следующем примере подразумевается, что для таблицы spanishTbl создан полнотекстовый индекс. Чтобы добавить столбец spanishCol к этому индексу, выполните следующую хранимую процедуру:

EXEC sp_fulltext_column 'spanishTbl', 'spanishCol', 'add', 0xC0A;
GO

При выполнении такого запроса:

SELECT *
FROM spanishTbl
WHERE CONTAINS (spanishCol, 'formsof(inflectional, trabajar)');

Результирующий набор будет включать в себя строки с различными формами слова trabajar («работать»), например trabajo, trabajamos и trabajan.

Примечание.

Все столбцы, перечисленные в одной функции предложения полнотекстового запроса, должны быть на одном языке.