sp_fulltext_column (Transact-SQL)

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

Nota importanteImportante

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

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sp_fulltext_column [ @tabname= ] 'qualified_table_name' , 
     [ @colname= ] 'column_name' , 
     [ @action= ] 'action' 
     [ , [ @language= ] 'language_term' ] 
     [ , [ @type_colname= ] 'type_column_name' ]

Argumentos

  • [ @tabname= ] 'qualified_table_name'
    Se trata de un nombre de tabla con una o dos partes. La tabla debe existir en la base de datos actual. La tabla debe tener un índice de texto. qualified_table_name es de tipo nvarchar(517) y no tiene ningún valor predeterminado.

  • [ @colname= ] 'column_name'
    Es el nombre de una columna de qualified_table_name. La columna de ser una columna de tipo carácter, varbinary(max) o image, y no puede ser una columna calculada. column_name es de tipo sysname y no tiene ningún valor predeterminado.

    [!NOTA]

    SQL Server puede crear índices de texto de datos de texto almacenados en columnas con el tipo de datos varbinary(max) o image. Las imágenes no se indizan.

  • [ @action= ] 'action'
    Es la acción que se va a realizar. action es de tipo varchar(20), no tiene ningún valor predeterminado y puede tener uno de los valores siguientes.

    Valor

    Descripción

    add

    Agrega el parámetro column_name de qualified_table_name al índice de texto completo inactivo de la tabla. Esta acción habilita el indizado de texto de la columna.

    drop

    Quita el parámetro column_name de qualified_table_name del índice de texto inactivo de la tabla.

  • [ @language= ] 'language_term'
    Se trata del idioma de los datos almacenados en la columna. Para obtener una lista de los idiomas incluidos en SQL Server, vea sys.fulltext_languages (Transact-SQL).

    [!NOTA]

    Use 'Neutral' cuando una columna contiene datos en varios idiomas o en un idioma no admitido. El valor predeterminado se especifica en la opción de configuración 'default full-text language'.

  • [ @type_colname = ] 'type_column_name'
    Es el nombre de una columna de qualified_table_name que contiene el tipo de documento de column_name. Esta columna debe ser char, nchar, varchar o nvarchar. Sólo se utiliza cuando el tipo de datos de column_name es de tipo varbinary(max) o image. type_column_name es de tipo sysname y no tiene ningún valor predeterminado.

Valores de código de retorno

0 (correcto) o 1 (error)

Conjuntos de resultados

Ninguno

Notas

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

Si está activado el seguimiento de cambios y es necesario agregar o quitar columnas del índice de texto 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 de la función fija de base de datos db_ddladmin o db_owner, o bien el propietario de la tabla.

Ejemplos

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

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

El ejemplo presupone que ha creado un índice de texto en una tabla denominada spanishTbl. Para agregar la columna spanishCol al índice de texto, 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 deben usar el mismo idioma.