ALTER FULLTEXT INDEX (Transact-SQL)ALTER FULLTEXT INDEX (Transact-SQL)

Se aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) SíAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL DatabaseSe aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) SíAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database

Cambia las propiedades de un índice de texto completo en SQL ServerSQL Server.Changes the properties of a full-text index in SQL ServerSQL Server.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

ALTER FULLTEXT INDEX ON table_name  
   { ENABLE   
   | DISABLE  
   | SET CHANGE_TRACKING [ = ] { MANUAL | AUTO | OFF }  
   | ADD ( column_name   
           [ TYPE COLUMN type_column_name ]   
           [ LANGUAGE language_term ]  
           [ STATISTICAL_SEMANTICS ]  
           [,...n]   
         )  
     [ WITH NO POPULATION ]  
   | ALTER COLUMN column_name  
     { ADD | DROP } STATISTICAL_SEMANTICS  
     [ WITH NO POPULATION ]  
   | DROP ( column_name [,...n] )  
     [ WITH NO POPULATION ]   
   | START { FULL | INCREMENTAL | UPDATE } POPULATION  
   | {STOP | PAUSE | RESUME } POPULATION   
   | SET STOPLIST [ = ] { OFF| SYSTEM | stoplist_name }  
     [ WITH NO POPULATION ]   
   | SET SEARCH PROPERTY LIST [ = ] { OFF | property_list_name }  
     [ WITH NO POPULATION ]   
   }  
[;]  

Nota

Para ver la sintaxis de Transact-SQL para SQL Server 2014 y versiones anteriores, consulte Versiones anteriores de la documentación.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ArgumentosArguments

table_nametable_name
Es el nombre de la tabla o vista indizada que contiene la columna o columnas incluidas en el índice de texto completo.Is the name of the table or indexed view that contains the column or columns included in the full-text index. Especificar los nombres de la base de datos y del propietario de la tabla es opcional.Specifying database and table owner names is optional.

ENABLE | DISABLEENABLE | DISABLE
Indica a SQL ServerSQL Server si debe recopilar datos de índice de texto completo para table_name.Tells SQL ServerSQL Server whether to gather full-text index data for table_name. ENABLE activa el índice de texto completo; DISABLE lo desactiva.ENABLE activates the full-text index; DISABLE turns off the full-text index. La tabla no admitirá las consultas de texto completo mientras esté deshabilitado el índice.The table will not support full-text queries while the index is disabled.

La deshabilitación de un índice de texto completo permite desactivar el seguimiento de cambios y mantener el índice de texto completo, que puede reactivar en cualquier momento con ENABLE.Disabling a full-text index allows you to turn off change tracking but keep the full-text index, which you can reactivate at any time using ENABLE. Cuando se deshabilita el índice de texto completo, los metadatos del índice de texto completo permanecen en las tablas del sistema.When the full-text index is disabled, the full-text index metadata remains in the system tables. Si CHANGE_TRACKING está habilitado (actualización automática o manual) cuando se deshabilita el índice de texto completo, el estado del índice se inmoviliza, los rastreos en curso se detienen y no se mantiene un seguimiento de los nuevos cambios en los datos de la tabla ni se propagan los cambios al índice.If CHANGE_TRACKING is in the enabled state (automatic or manual update) when the full-text index is disabled, the state of the index freezes, any ongoing crawl stops, and new changes to the table data are not tracked or propagated to the index.

SET CHANGE_TRACKING {MANUAL | AUTO | OFF} SET CHANGE_TRACKING {MANUAL | AUTO | OFF}
Especifica si SQL ServerSQL Server propagará al índice de texto completo los cambios (actualizaciones, eliminaciones o inserciones) efectuados en las columnas de la tabla que cubre el índice de texto completo.Specifies whether changes (updates, deletes, or inserts) made to table columns that are covered by the full-text index will be propagated by SQL ServerSQL Server to the full-text index. Los cambios realizados en los datos con WRITETEXT y UPDATETEXT no se reflejan en el índice de texto completo y no se recopilan con el seguimiento de cambios.Data changes through WRITETEXT and UPDATETEXT are not reflected in the full-text index, and are not picked up with change tracking.

MANUALMANUAL
Especifica que se propagarán manualmente los cambios controlados mediante una llamada a la instrucción ALTER FULLTEXT INDEX... START UPDATE POPULATION Transact-SQLTransact-SQL statement (manual population).Specifies that the tracked changes will be propagated manually by calling the ALTER FULLTEXT INDEX ... START UPDATE POPULATION Transact-SQLTransact-SQL statement (manual population). Puede utilizar el Agente SQL ServerSQL Server para llamar a esta instrucción de Transact-SQLTransact-SQL de forma periódica.You can use SQL ServerSQL Server Agent to call this Transact-SQLTransact-SQL statement periodically.

AUTOAUTO
Especifica que los cambios sometidos a seguimiento se propagarán automáticamente cuando los datos se modifiquen en la tabla base (rellenado automático).Specifies that the tracked changes will be propagated automatically as data is modified in the base table (automatic population). Aunque los cambios se propagan de forma automática, podrían no reflejarse de inmediato en el índice de texto completo.Although changes are propagated automatically, these changes might not be reflected immediately in the full-text index. AUTO es el valor predeterminado.AUTO is the default.

ApagadoOFF
Especifica que SQL ServerSQL Server no mantendrá una lista de cambios en los datos indizados.Specifies that SQL ServerSQL Server will not keep a list of changes to the indexed data.

ADD | DROP column_nameADD | DROP column_name
Especifica las columnas que se agregarán o eliminarán de un índice de texto completo.Specifies the columns to be added or deleted from a full-text index. La columna o columnas deben ser de tipo char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary, o varbinary(max).The column or columns must be of type char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary, or varbinary(max).

Utilice la cláusula DROP solamente en columnas que se hayan habilitado previamente para la indización de texto completo.Use the DROP clause only on columns that have been enabled previously for full-text indexing.

Use TYPE COLUMN y LANGUAGE con la cláusula ADD para establecer estas propiedades en column_name.Use TYPE COLUMN and LANGUAGE with the ADD clause to set these properties on the column_name. Cuando se agrega una columna, el índice de texto completo de la tabla se debe rellenar de nuevo para que funcionen las consultas de texto completo en esta columna.When a column is added, the full-text index on the table must be repopulated in order for full-text queries against this column to work.

Nota

Que se rellene el índice de texto completo una vez agregada o quitada una columna en un índice de texto completo depende de si está habilitado el seguimiento de cambios y de si se especifica WITH NO POPULATION.Whether the full-text index is populated after a column is added or dropped from a full-text index depends on whether change-tracking is enabled and whether WITH NO POPULATION is specified. Para más información, vea Interacciones del seguimiento de cambios y del parámetro NO POPULATION.For more information, see Interactions of Change Tracking and NO POPULATION Parameter.

TYPE COLUMN type_column_nameTYPE COLUMN type_column_name
Especifica el nombre de una columna de tabla, type_column_name, que se usa para almacenar el tipo de documento para un documento varbinary, varbinary(max) o image.Specifies the name of a table column, type_column_name, that is used to hold the document type for a varbinary, varbinary(max), or image document. Esta columna, denominada columna de tipo, contiene una extensión de archivo proporcionada por el usuario (.doc, .pdf, .xls, etc.).This column, known as the type column, contains a user-supplied file extension (.doc, .pdf, .xls, and so forth). La columna de tipo debe ser de tipo char, nchar, varchar o nvarchar.The type column must be of type char, nchar, varchar, or nvarchar.

Especifique TYPE COLUMN type_column_name únicamente si column_name especifica una columna de tipo varbinary, varbinary(max) o image, en la que los datos se almacenan como datos binarios; de lo contrario, SQL ServerSQL Server devuelve un error.Specify TYPE COLUMN type_column_name only if column_name specifies a varbinary, varbinary(max) or image column, in which data is stored as binary data; otherwise, SQL ServerSQL Server returns an error.

Nota

En el momento de la indización, el motor de texto completo usa la abreviatura de la columna de tipo de cada fila de la tabla para identificar el filtro de la búsqueda de texto completo que se va a usar para el documento en column_name.At indexing time, the Full-Text Engine uses the abbreviation in the type column of each table row to identify which full-text search filter to use for the document in column_name. El filtro carga el documento como un flujo binario, quita la información del formato y envía el texto del documento al componente de separador de palabras.The filter loads the document as a binary stream, removes the formatting information, and sends the text from the document to the word-breaker component. Para obtener más información, vea Configurar y administrar filtros para búsquedas.For more information, see Configure and Manage Filters for Search.

LANGUAGE language_termLANGUAGE language_term
Se trata del idioma de los datos almacenados en column_name.Is the language of the data stored in column_name.

language_term es opcional y puede especificarse como un valor hexadecimal, un entero o una cadena correspondiente al identificador de configuración regional (LCID) de un idioma.language_term is optional and can be specified as a string, integer, or hexadecimal value corresponding to the locale identifier (LCID) of a language. Si se especifica language_term, el idioma que representa se aplicará a todos los elementos de la condición de búsqueda.If language_term is specified, the language it represents will be applied to all elements of the search condition. Si no se especifica ningún valor, se usa el idioma de texto completo predeterminado de la instancia de SQL ServerSQL Server.If no value is specified, the default full-text language of the SQL ServerSQL Server instance is used.

Use el procedimiento almacenado sp_configure para acceder a la información sobre el idioma de texto completo predeterminado de la instancia de SQL ServerSQL Server.Use the sp_configure stored procedure to access information about the default full-text language of the SQL ServerSQL Server instance.

Si se especifica como una cadena, language_term corresponde al valor de columna alias de la tabla del sistema syslanguages.When specified as a string, language_term corresponds to the alias column value in the syslanguages system table. La cadena debe estar delimitada con comillas sencillas, como en 'language_term'.The string must be enclosed in single quotation marks, as in 'language_term'. Cuando se especifica como un entero, language_term es el LCID real que identifica el idioma.When specified as an integer, language_term is the actual LCID that identifies the language. Cuando se especifica como un valor hexadecimal, language_term es 0x seguido del valor hexadecimal del LCID.When specified as a hexadecimal value, language_term is 0x followed by the hex value of the LCID. El valor hexadecimal no puede superar los ocho dígitos, incluidos los ceros a la izquierda.The hex value must not exceed eight digits, including leading zeros.

Si el valor está en formato DBCS (juego de caracteres de doble byte), SQL ServerSQL Server lo convertirá a Unicode.If the value is in double-byte character set (DBCS) format, SQL ServerSQL Server will convert it to Unicode.

Se deben habilitar recursos, como los separadores de palabras y lematizadores, para el idioma especificado como language_term.Resources, such as word breakers and stemmers, must be enabled for the language specified as language_term. Si estos recursos no admiten el idioma especificado, SQL ServerSQL Server devuelve un error.If such resources do not support the specified language, SQL ServerSQL Server returns an error.

Para las columnas no BLOB y no XML que contienen datos de texto en varios idiomas o en los casos en que se desconoce el idioma del texto almacenado en la columna, utilice el recurso de idioma neutro (0x0).For non-BLOB and non-XML columns containing text data in multiple languages, or for cases when the language of the text stored in the column is unknown, use the neutral (0x0) language resource. Para los documentos almacenados en columnas de tipo XML o BLOB, la codificación de idioma del documento se utilizará en el momento de la indización.For documents stored in XML- or BLOB-type columns, the language encoding within the document will be used at indexing time. Por ejemplo, en las columnas XML, el atributo xml:lang de los documentos XML identifica el idioma.For example, in XML columns, the xml:lang attribute in XML documents will identify the language. En el momento de la consulta, el valor especificado previamente en language_term se convierte en el idioma predeterminado que se usa para las consultas de texto completo, a menos que language_term se especifique como parte de una consulta de texto completo.At query time, the value previously specified in language_term becomes the default language used for full-text queries unless language_term is specified as part of a full-text query.

STATISTICAL_SEMANTICSSTATISTICAL_SEMANTICS
Válido para : SQL Server 2012 (11.x)SQL Server 2012 (11.x) y versiones posteriores.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later.

Crea los índices adicionales de similitud de documentos y frases clave que forman parte de la indización semántica estadística.Creates the additional key phrase and document similarity indexes that are part of statistical semantic indexing. Para obtener más información, vea Búsqueda semántica (SQL Server).For more information, see Semantic Search (SQL Server).

[ ,...n][ ,...n]
Indica que se pueden especificar varias columnas para las cláusulas ADD, ALTER o DROP.Indicates that multiple columns may be specified for the ADD, ALTER, or DROP clauses. Si se especifican varias columnas, sepárelas con comas.When multiple columns are specified, separate these columns with commas.

WITH NO POPULATIONWITH NO POPULATION
Especifica que el índice de texto completo no se rellenará después de que se realice una de las operaciones de columna ADD y DROP, o una operación SET STOPLIST.Specifies that the full-text index will not be populated after an ADD or DROP column operation or a SET STOPLIST operation. El índice se rellenará solamente si el usuario ejecuta un comando START...POPULATION.The index will only be populated if the user executes a START...POPULATION command.

Si se especifica NO POPULATION, SQL ServerSQL Server no rellena un índice.When NO POPULATION is specified, SQL ServerSQL Server does not populate an index. El índice se rellena únicamente cuando el usuario usa un comando ALTER FULLTEXT INDEX...START POPULATION.The index is populated only after the user gives an ALTER FULLTEXT INDEX...START POPULATION command. Cuando no se especifica NO POPULATION, SQL ServerSQL Server rellena el índice.When NO POPULATION is not specified, SQL ServerSQL Server populates the index.

Si CHANGE_TRACKING está habilitado y se especifica WITH NO POPULATION, SQL ServerSQL Server devuelve un error.If CHANGE_TRACKING is enabled and WITH NO POPULATION is specified, SQL ServerSQL Server returns an error. Si CHANGE_TRACKING está habilitado y no se especifica WITH NO POPULATION, SQL ServerSQL Server realiza un rellenado completo del índice.If CHANGE_TRACKING is enabled and WITH NO POPULATION is not specified, SQL ServerSQL Server performs a full population on the index.

{ADD | DROP } STATISTICAL_SEMANTICS{ADD | DROP } STATISTICAL_SEMANTICS
Válido para : SQL Server 2012 (11.x)SQL Server 2012 (11.x) y versiones posteriores.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later.

Habilita o deshabilita la indización semántica estadística de las columnas especificadas.Enables or disables statistical semantic indexing for the specified columns. Para obtener más información, vea Búsqueda semántica (SQL Server).For more information, see Semantic Search (SQL Server).

START {FULL|INCREMENTAL|UPDATE} POPULATIONSTART {FULL|INCREMENTAL|UPDATE} POPULATION
Indica a SQL ServerSQL Server que empiece el rellenado del índice de texto completo de language_term.Tells SQL ServerSQL Server to begin population of the full-text index of table_name. Si ya hay un rellenado de índice de texto completo en curso, SQL ServerSQL Server devuelve una advertencia y no inicia un nuevo rellenado.If a full-text index population is already in progress, SQL ServerSQL Server returns a warning and does not start a new population.

FULLFULL
Especifica que se recuperarán todas las filas de la tabla para el indizado de texto completo, incluso si las filas ya se han indizado.Specifies that every row of the table be retrieved for full-text indexing even if the rows have already been indexed.

INCREMENTALINCREMENTAL
Especifica que solo se recuperarán para el índice de texto completo las filas modificadas desde el último rellenado.Specifies that only the modified rows since the last population be retrieved for full-text indexing. INCREMENTAL se puede aplicar únicamente si la tabla tiene una columna de tipo timestamp.INCREMENTAL can be applied only if the table has a column of the type timestamp. Si una tabla del catálogo de texto completo no contiene una columna de tipo timestamp, se lleva a cabo un rellenado completo en la tabla.If a table in the full-text catalog does not contain a column of the type timestamp, the table undergoes a FULL population.

UPDATEUPDATE
Especifica el procesamiento de todas las inserciones, actualizaciones o eliminaciones desde la última vez que se actualizó el índice de seguimiento de cambios.Specifies the processing of all insertions, updates, or deletions since the last time the change-tracking index was updated. Debe estar habilitado el rellenado de seguimiento de cambios en la tabla, pero el índice de actualización en segundo plano o el seguimiento automático de cambios no se deben activar.Change-tracking population must be enabled on a table, but the background update index or the auto change tracking should not be turned on.

{STOP | PAUSE | RESUME } POPULATION {STOP | PAUSE | RESUME } POPULATION
Detiene o pausa cualquier operación de rellenado en curso; o bien detiene o reanuda cualquier operación de rellenado en pausa.Stops, or pauses any population in progress; or stops or resumes any paused population.

STOP POPULATION no detiene el seguimiento automático de cambios ni el índice de actualización en segundo plano.STOP POPULATION does not stop auto change tracking or background update index. Para detener el seguimiento de cambios, utilice SET CHANGE_TRACKING OFF.To stop change tracking, use SET CHANGE_TRACKING OFF.

PAUSE POPULATION y RESUME POPULATION solo se pueden usar para operaciones de rellenado completas.PAUSE POPULATION and RESUME POPULATION can only be used for full populations. No son relevantes para otros tipos de operación de rellenado porque las otras operaciones de rellenado reanudan los rastreos desde el punto en que se detuvieron.They are not relevant to other population types because the other populations resume crawls from where the crawl stopped.

SET STOPLIST { OFF| SYSTEM | stoplist_name }SET STOPLIST { OFF| SYSTEM | stoplist_name }
Cambia la lista de palabras irrelevantes de texto completo asociada al índice, si hay alguna.Changes the full-text stoplist that is associated with the index, if any.

ApagadoOFF
Especifica que no se asocie al índice de texto completo ninguna lista de palabras irrelevantes.Specifies that no stoplist be associated with the full-text index.

SYSTEMSYSTEM
Especifica que la lista de palabras irrelevantes predeterminada de texto completo del sistema se debe usar para este índice de texto completo.Specifies that the default full-text system STOPLIST should be used for this full-text index.

stoplist_namestoplist_name
Especifica el nombre de la lista de palabras irrelevantes que se va a asociar al índice de texto completo.Specifies the name of the stoplist to be associated with the full-text index.

Para obtener más información, vea Configurar y administrar palabras irrelevantes y listas de palabras irrelevantes para la búsqueda de texto completo.For more information, see Configure and Manage Stopwords and Stoplists for Full-Text Search.

SET SEARCH PROPERTY LIST { OFF | property_list_name } [ WITH NO POPULATION ]SET SEARCH PROPERTY LIST { OFF | property_list_name } [ WITH NO POPULATION ]
Válido para : SQL Server 2012 (11.x)SQL Server 2012 (11.x) y versiones posteriores.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later.

Cambia la lista de propiedades de búsqueda asociada al índice, si hay alguna.Changes the search property list that is associated with the index, if any.

ApagadoOFF
Especifica que no se asocie al índice de texto completo ninguna lista de propiedades.Specifies that no property list be associated with the full-text index. Al desactivar la lista de propiedades de búsqueda de un índice de texto completo (ALTER FULLTEXT INDEX... SET SEARCH PROPERTY LIST OFF), la búsqueda de propiedades en la tabla base ya no es posible.When you turn off the search property list of a full-text index (ALTER FULLTEXT INDEX ... SET SEARCH PROPERTY LIST OFF), property searching on the base table is no longer possible.

De forma predeterminada, cuando se desactiva una lista de propiedades de búsqueda existente, el índice de texto completo se vuelve a rellenar automáticamente.By default, when you turn off an existing search property list, the full-text index automatically repopulates. Si se especifica WITH NO POPULATION al desactivar la lista de propiedades de búsqueda, este rellenado automático no sucede.If you specify WITH NO POPULATION when you turn off the search property list, automatic repopulation does not occur. Sin embargo, se recomienda ejecutar, si procede, un rellenado completo del índice de texto completo para mayor comodidad.However, we recommend that you eventually run a full population on this full-text index at your convenience. Al rellenar el índice de texto completo, se eliminan los metadatos específicos de cada propiedad de búsqueda que se haya quitado, con lo que el índice de texto completo resultará más pequeño y eficaz.Repopulating the full-text index removes the property-specific metadata of each dropped search property, making the full-text index smaller and more efficient.

property_list_nameproperty_list_name
Especifica el nombre de la lista de propiedades de búsqueda que se va a asociar al índice de texto completo.Specifies the name of the search property list to be associated with the full-text index.

Para agregar una lista de propiedades de búsqueda a un índice de texto completo es preciso rellenar el índice, a fin de indizar las propiedades de búsqueda que se han registrado para la lista de propiedades de búsqueda asociada.Adding a search property list to a full-text index requires repopulating the index to index the search properties that are registered for the associated search property list. Si se especifica WITH NO POPULATION al agregar la lista de propiedades de búsqueda, se deberá ejecutar un rellenado del índice en un momento adecuado.If you specify WITH NO POPULATION when adding the search property list, you will need to run a population on the index, at an appropriate time.

Importante

Si el índice de texto completo estaba asociado previamente a una lista de propiedades de búsqueda diferente, habrá que volver a generar la lista de propiedades para que el índice tenga un estado coherente.If the full-text index was previously associated with a different search it must be rebuilt property list in order to bring the index into a consistent state. El índice se trunca inmediatamente y está vacío hasta que se ejecuta el rellenado completo.The index is truncated immediately and is empty until the full population runs. Para más información, vea Cambiar la lista de propiedades de búsqueda provoca un rellenado del índice.For more information, see Changing the Search Property List Causes Rebuilding the Index.

Nota

Puede asociar una lista de propiedades de búsqueda a más de un índice de texto completo en la misma base de datos.You can associate a given search property list with more than one full-text index in the same database.

Para buscar las listas de propiedades de búsqueda en la base de datos actualTo find the search property lists on the current database

Para más información, vea Buscar propiedades de documento con listas de propiedades de búsqueda.For more information about search property lists, see Search Document Properties with Search Property Lists.

Interacciones del seguimiento de cambios y del parámetro NO POPULATIONInteractions of Change Tracking and NO POPULATION Parameter

Que se rellene el índice de texto completo depende de si el seguimiento de cambios está habilitado y si se especifica WITH NO POPULATION en la instrucción ALTER FULLTEXT INDEX.Whether the full-text index is populated depends on whether change-tracking is enabled and whether WITH NO POPULATION is specified in the ALTER FULLTEXT INDEX statement. En la tabla siguiente se resume el resultado de su interacción.The following table summarizes the result of their interaction.

Seguimiento de cambiosChange Tracking WITH NO POPULATIONWITH NO POPULATION ResultadoResult
No se ha habilitadoNot Enabled Sin especificarNot specified Se realiza un rellenado completo en el índice.A full population is performed on the index.
No se ha habilitadoNot Enabled SpecifiedSpecified No se produce el rellenado del índice hasta que se emite una instrucción ALTER FULLTEXT INDEX...START POPULATION.No population of the index occurs until an ALTER FULLTEXT INDEX...START POPULATION statement is issued.
habilitadoEnabled SpecifiedSpecified Se produce un error y no se altera el índice.An error is raised, and the index is not altered.
habilitadoEnabled Sin especificarNot specified Se realiza un rellenado completo en el índice.A full population is performed on the index.

Para más información sobre rellenar índices de texto completo, vea Rellenar índices de texto completo.For more information about populating full-text indexes, see Populate Full-Text Indexes.

Cambiar la lista de propiedades de búsqueda provoca un rellenado del índiceChanging the Search Property List Causes Rebuilding the Index

La primera vez que el índice de texto completo se asocia con una lista de propiedades de búsqueda, el índice debe volver a llenarse para incluir los términos de búsqueda específicos de la propiedad.The first time that a full-text index is associated with a search property list, the index must be repopulated to index property-specific search terms. Los datos del índice existente no se truncan.The existing index data is not truncated.

Sin embargo, si se asocia el índice de texto completo con otra lista de propiedades, se vuelve a generar el índice.However, if you associate the full-text index with a different property list, the index is rebuilt. Una generación inmediata trunca el índice de texto completo y quita todos los datos existentes, de tal forma que el índice se debe volver a llenar.Rebuilding immediately truncates the full-text index, removing all existing data, and the index must be repopulated. A medida que avanza el rellenado, las consultas de texto completo de la tabla base buscan únicamente en las filas de la tabla que ya se han indizado al efectuar el rellenado.While the population progresses, full-text queries on the base table search only on the table rows that have already been indexed by the population. Los datos del índice rellenado incluirán metadatos de las propiedades registradas en la lista de propiedades agregada recientemente.The repopulated index data will include metadata from the registered properties of the newly added search property list.

Los escenarios que provocan una nueva generación son:Scenarios that cause rebuilding include:

  • Cambiar directamente a otra lista de propiedades de búsqueda (vea "Escenario A", más adelante en esta sección).Switching directly to a different search property list (see "Scenario A," later in this section).

  • Desactivar la lista de propiedades de lista y asociar después el índice con cualquier lista de propiedades de búsqueda (vea "Escenario B", más adelante en esta sección).Turning off the search property list and later associating the index with any search property list (see "Scenario B," later in this section)

Nota

Para más información sobre el funcionamiento de la búsqueda de texto completo con listas de propiedades de búsqueda, vea Buscar propiedades de documento con listas de propiedades de búsqueda.For more information about how full-text search works with search property lists, see Search Document Properties with Search Property Lists. Para más información sobre los rellenados completos, vea Rellenar índices de texto completo.For information about full populations, see Populate Full-Text Indexes.

Escenario A: cambiar directamente a otra lista de propiedades de búsquedaScenario A: Switching Directly to a Different Search Property List

  1. Se crea un índice de texto completo en table_1 con una lista de propiedades de búsqueda spl_1:A full-text index is created on table_1 with a search property list spl_1:

    CREATE FULLTEXT INDEX ON table_1 (column_name) KEY INDEX unique_key_index   
       WITH SEARCH PROPERTY LIST=spl_1,   
       CHANGE_TRACKING OFF, NO POPULATION;   
    
  2. Se ejecuta un rellenado completo del índice de texto completo:A full population is run on the full-text index:

    ALTER FULLTEXT INDEX ON table_1 START FULL POPULATION;  
    
  3. Después, el índice de texto completo se asocia a otra lista de propiedades de búsqueda, spl_2, mediante la siguiente instrucción:The full-text index is later associated a different search property list, spl_2, using the following statement:

    ALTER FULLTEXT INDEX ON table_1 SET SEARCH PROPERTY LIST spl_2;  
    

    Esta instrucción produce un rellenado completo, el comportamiento predeterminado.This statement causes a full population, the default behavior. Sin embargo, antes de empezar este rellenado, el motor de texto completo automáticamente trunca el índice.However, before beginning this population, the Full-Text Engine automatically truncates the index.

Escenario B: desactivar la lista de propiedades de búsqueda lista y después asociar el índice con cualquier lista de propiedades de búsquedaScenario B: Turning Off the Search Property List and Later Associating the Index with Any Search Property List

  1. Se crea un índice de texto completo en table_1 con una lista de propiedades de búsqueda spl_1, seguido de un rellenado completo automático (comportamiento predeterminado):A full-text index is created on table_1 with a search property list spl_1, followed by an automatic full population (the default behavior):

    CREATE FULLTEXT INDEX ON table_1 (column_name) KEY INDEX unique_key_index   
       WITH SEARCH PROPERTY LIST=spl_1;   
    
  2. La lista de propiedades de búsqueda se desactiva, como sigue:The search property list is turned off, as follows:

    ALTER FULLTEXT INDEX ON table_1   
       SET SEARCH PROPERTY LIST OFF WITH NO POPULATION;   
    
  3. El índice de texto completo se asocia de nuevo a la misma lista de propiedades de búsqueda o a otra distinta.The full-text index is once more associated either the same search property list or a different one.

    Por ejemplo, la siguiente instrucción vuelve a asociar el índice de texto completo con la lista de propiedades de búsqueda original, spl_1:For example the following statement re-associates the full-text index with the original search property list, spl_1:

    ALTER FULLTEXT INDEX ON table_1 SET SEARCH PROPERTY LIST spl_1;  
    

    Esta instrucción inicia un rellenado completo, el comportamiento predeterminado.This statement starts a full population, the default behavior.

    Nota

    También se debería realizar la regeneración para otra lista de propiedades de búsqueda, como spl_2.The rebuild would also be required for a different search property list, such as spl_2.

PermisosPermissions

El usuario debe tener el permiso ALTER en la tabla o vista indizada, o ser miembro del rol fijo de servidor sysadmin o de los roles fijos de base de datos db_owner o db_ddladmin.The user must have ALTER permission on the table or indexed view, or be a member of the sysadmin fixed server role, or the db_ddladmin or db_owner fixed database roles.

Si se especifica SET STOPLIST, el usuario debe tener el permiso REFERENCES en la lista de palabras irrelevantes.If SET STOPLIST is specified, the user must have REFERENCES permission on the stoplist. Si se especifica SET SEARCH PROPERTY LIST, el usuario debe tener el permiso REFERENCES para la lista de propiedades de búsqueda.If SET SEARCH PROPERTY LIST is specified, the user must have REFERENCES permission on the search property list. El propietario de la lista de palabras irrelevantes o de la lista de propiedades de búsqueda especificadas puede conceder el permiso REFERENCES, si el propietario tiene permisos ALTER FULLTEXT CATALOG.The owner of the specified stoplist or search property list can grant REFERENCES permission, if the owner has ALTER FULLTEXT CATALOG permissions.

Nota

Los usuarios tienen el permiso REFERENCES para la lista de palabras irrelevantes predeterminada que se incluye con SQL ServerSQL Server.The public is granted REFERENCES permission to the default stoplist that is shipped with SQL ServerSQL Server.

EjemplosExamples

A.A. Configurar el seguimiento de cambios manualSetting manual change tracking

En el ejemplo siguiente se establece el seguimiento de cambios manual en el índice de texto completo en la tabla JobCandidate.The following example sets manual change tracking on the full-text index on the JobCandidate table.

USE AdventureWorks2012;  
GO  
ALTER FULLTEXT INDEX ON HumanResources.JobCandidate  
   SET CHANGE_TRACKING MANUAL;  
GO  

B.B. Asociar una lista de propiedades con un índice de texto completoAssociating a property list with a full-text index

Válido para : SQL Server 2012 (11.x)SQL Server 2012 (11.x) y versiones posteriores.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later.

En este ejemplo se asocia la lista de propiedades DocumentPropertyList al índice de texto completo en la tabla Production.Document.The following example associates the DocumentPropertyList property list with the full-text index on the Production.Document table. Esta instrucción ALTER FULLTEXT INDEX inicia un rellenado completo, que es el comportamiento predeterminado de la cláusula SET SEARCH PROPERTY LIST.This ALTER FULLTEXT INDEX statement starts a full population, which is the default behavior of the SET SEARCH PROPERTY LIST clause.

Nota

Para ver un ejemplo que crea la lista de propiedades DocumentPropertyList, vea CREATE SEARCH PROPERTY LIST (Transact-SQL).For an example that creates the DocumentPropertyList property list, see CREATE SEARCH PROPERTY LIST (Transact-SQL).

USE AdventureWorks2012;  
GO  
ALTER FULLTEXT INDEX ON Production.Document   
   SET SEARCH PROPERTY LIST DocumentPropertyList;   
GO  

C.C. Quitar una lista de propiedades de búsquedaRemoving a search property list

Válido para : SQL Server 2012 (11.x)SQL Server 2012 (11.x) y versiones posteriores.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later.

En el siguiente ejemplo, se quita la lista de propiedades DocumentPropertyList del índice de texto completo en la tabla Production.Document.The following example removes the DocumentPropertyList property list from the full-text index on the Production.Document. En este ejemplo, no hay prisa para quitar las propiedades del índice, de modo que se especifica la opción WITH NO POPULATION.In this example, there is no hurry for removing the properties from the index, so the WITH NO POPULATION option is specified. Sin embargo, la búsqueda en el nivel de propiedades ya no se permite mediante este índice de texto completo.However, property-level searching is longer allowed against this full-text index.

USE AdventureWorks2012;  
GO  
ALTER FULLTEXT INDEX ON Production.Document   
   SET SEARCH PROPERTY LIST OFF WITH NO POPULATION;   
GO  

D.D. Iniciar un rellenado completoStarting a full population

En este ejemplo se inicia un rellenado completo del índice de texto completo en la tabla JobCandidate.The following example starts a full population on the full-text index on the JobCandidate table.

USE AdventureWorks2012;  
GO  
ALTER FULLTEXT INDEX ON HumanResources.JobCandidate   
   START FULL POPULATION;  
GO  

Vea tambiénSee Also

sys.fulltext_indexes (Transact-SQL) sys.fulltext_indexes (Transact-SQL)
CREATE FULLTEXT INDEX (Transact-SQL) CREATE FULLTEXT INDEX (Transact-SQL)
DROP FULLTEXT INDEX (Transact-SQL) DROP FULLTEXT INDEX (Transact-SQL)
Búsqueda de texto completo Full-Text Search
Rellenar índices de texto completoPopulate Full-Text Indexes