Compartir a través de


sp_fulltext_column (Transact-SQL)

Se aplica a: SQL Server Azure Synapse Analytics

Especifica si una columna concreta de una tabla participa en la indización de texto completo.

Importante

Esta característica se quitará en una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. Use ALTER FULLTEXT INDEX en su lugar.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

[ @tabname = ] N'tabname'

Nombre de tabla de una o dos partes. La tabla debe existir en la base de datos actual. La tabla debe tener un índice de texto completo. @tabname es nvarchar(517), sin ningún valor predeterminado.

[ @colname = ] N'colname'

Nombre de una columna en @tabname. La columna debe ser un carácter, varbinary(max)o una imagen, y no puede ser una columna calculada. @colname es sysname, sin ningún valor predeterminado.

SQL Server puede crear índices de texto completo de datos de texto almacenados en columnas que son de tipo de datos varbinary(max) o image . Las imágenes y las imágenes no se indexan.

[ @action = ] 'action'

Acción que se va a realizar. @action es varchar(20), sin valor predeterminado y puede ser uno de los valores siguientes.

Valor Descripción
agregar Agrega @colname de @tabname al índice de texto completo inactivo de la tabla. Esta acción habilita el indizado de texto completo de la columna.
anular Quita @colname de @tabname del índice de texto completo inactivo de la tabla.

[ @language = ] idioma

Idioma de los datos almacenados en la columna. @language es int, con un valor predeterminado de NULL. Para obtener una lista de los idiomas incluidos en SQL Server, consulte sys.fulltext_languages.

Nota:

Use Neutral cuando una columna contiene datos en varios idiomas o en un idioma no admitido. El valor predeterminado se especifica mediante la opción de configuración del servidor idioma de texto completo predeterminado.

[ @type_colname = ] N'type_colname'

Nombre de una columna en @tabname que contiene el tipo de documento de @colname. Esta columna debe ser char, nchar, varchar o nvarchar. Solo se usa cuando el tipo de datos de @colname es de tipo varbinary(max) o image. @type_colname es sysname, con un valor predeterminado de NULL.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Conjunto de resultados

Ninguno.

Comentarios

Si el índice de texto completo está activo, se detiene cualquier llenado en proceso. Además, si una tabla con un índice de texto completo activo tiene habilitado el seguimiento de cambios, SQL Server garantiza que el índice está activo. Por ejemplo, SQL Server detiene cualquier rellenado actual de la tabla, quita el índice existente e inicia un nuevo rellenado.

Si está activado el seguimiento de cambios y es necesario agregar o quitar columnas del índice de texto completo sin eliminar éste, la tabla se tiene que desactivar y las columnas apropiadas se tienen que agregar o quitar. Estas acciones bloquean el índice. Se puede activar la tabla más adelante, cuando sea más práctico iniciar un llenado.

Permisos

El usuario debe ser miembro del rol fijo de base de datos db_ddladmin o miembro del rol fijo de base de datos db_owner o el propietario de la tabla.

Ejemplos

En el ejemplo siguiente se agrega la columna DocumentSummary de la tabla Document al índice de texto completo de la tabla.

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

El ejemplo presupone que ha creado un índice de texto completo en una tabla denominada spanishTbl. Para agregar la columna spanishCol al índice de texto completo, ejecute el siguiente procedimiento almacenado:

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

Al ejecutar esta consulta:

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

El conjunto de resultados incluiría filas con diferentes formas de trabajar, como trabajo, trabajamos y trabajan.

Nota:

Todas las columnas mostradas en una única cláusula de función para consulta de texto completo deben usar el mismo idioma.