Compartir a través de


sp_fulltext_column (Transact-SQL)

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

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 temas Convenciones 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 completo. qualified_table_name es de tipo nvarchar(517) y no tiene 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 valor predeterminado.

    [!NOTA]

    SQL Server puede crear índices de texto completo de datos de texto completo 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 valor predeterminado y puede tener uno de los siguientes valores.

    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 completo de la columna.

    drop

    Quita el parámetro column_name de qualified_table_name del índice de texto completo 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. Solo se utiliza cuando el tipo de datos de column_name es varbinary(max) o image. type_column_name es de tipo sysname y no tiene valor predeterminado.

Valores de código de retorno

0 (correcto) o 1 (error)

Conjuntos 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á 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 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 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 completo 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 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.

Vea también

Referencia

OBJECTPROPERTY (Transact-SQL)

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)

Procedimientos almacenados del sistema (Transact-SQL)

Búsqueda de texto completo y procedimientos almacenados de búsqueda semántica (Transact-SQL)