sp_fulltext_column (Transact-SQL)
Определяет, должен ли конкретный столбец таблицы использоваться в полнотекстовом индексировании.
Важно! |
---|
В будущей версии Microsoft SQL Server этот компонент будет удален. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Используйте вместо этого инструкцию ALTER INDEX. |
Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии). |
Cинтаксические обозначения в Transact-SQL
Синтаксис
sp_fulltext_column [ @tabname= ] 'qualified_table_name' ,
[ @colname= ] 'column_name' ,
[ @action= ] 'action'
[ , [ @language= ] 'language_term' ]
[ , [ @type_colname= ] 'type_column_name' ]
Аргументы
[ @tabname= ] 'qualified_table_name'
Имя таблицы, состоящее из одной или двух частей. Таблица должна существовать в текущей базе данных. Таблица должна содержать полнотекстовый индекс. Аргумент qualified_table_name имеет тип nvarchar(517) и не имеет значения по умолчанию.[ @colname= ] 'column_name'
Имя столбца таблицы qualified_table_name. Столбец должен иметь символьный тип, тип varbinary(max) или image и не может быть вычисляемым. Аргумент column_name имеет тип sysname и не имеет значения по умолчанию.Примечание
SQL Server может создавать полнотекстовые индексы данных, хранящихся в столбцах типов varbinary(max) или image.Изображения и рисунки не индексируются.
[ @action= ] 'action'
Действие, которое должно быть выполнено. Аргумент action имеет тип varchar(20), не имеет значения по умолчанию и может принимать одно из следующих значений.Значение
Описание
add
Добавляет столбец column_name таблицы qualified_table_name в неактивный полнотекстовый индекс таблицы. Это действие активирует полнотекстовое индексирование столбца.
drop
Удаляет столбец column_name таблицы qualified_table_name из неактивного полнотекстового индекса таблицы.
[ @language= ] 'language_term'
Язык данных, хранящихся в столбце. Список языков, включенных в SQL Server, см. в разделе sys.fulltext_languages (Transact-SQL).Примечание
Указывайте значение «Neutral», если столбец содержит данные на нескольких языках или на языке, который не поддерживается.Значение по умолчанию задается параметром конфигурации «default full-text language».
[ @type_colname = ] 'type_column_name'
Имя столбца в таблице qualified_table_name, который содержит тип документа column_name. Этот столбец должен быть типа char, nchar, varchar или nvarchar. Он используется, только если тип данных столбца column_name — varbinary(max) или image. Аргумент type_column_name имеет тип sysname и не имеет значения по умолчанию.
Значения кода возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Результирующие наборы
Нет
Замечания
Если полнотекстовый индекс активен, все выполняющиеся заполнения прекращаются. Более того, если для таблицы с полнотекстовым индексом включено отслеживание изменений, SQL Server удостоверится, что индекс актуален. Например, SQL Server прекратит текущее заполнение таблицы, удалит существующий индекс и начнет новое заполнение.
Если используется отслеживание изменений и нужно добавить или удалить столбец, сохранив полнотекстовый индекс, таблицу следует деактивировать, а затем добавить или удалить нужные столбцы. Эти действия закрепляют индекс. Таблица может быть активирована позже, когда имеет смысл начать заполнение.
Разрешения
Пользователь должен быть членом предопределенной роли базы данных db_ddladmin, db_owner или владельцем таблицы.
Примеры
В следующем примере столбец DocumentSummary таблицы Document будет добавлен в полнотекстовый индекс этой таблицы.
USE AdventureWorks2012;
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.
Примечание
Все столбцы, перечисленные в одной функции предложения полнотекстового запроса, должны быть на одном языке.
См. также
Справочник
sp_help_fulltext_columns (Transact-SQL)
sp_help_fulltext_columns_cursor (Transact-SQL)
sp_help_fulltext_tables (Transact-SQL)
sp_help_fulltext_tables_cursor (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)
Полнотекстовый поиск и хранимые процедуры семантического поиска (Transact-SQL)