FULLTEXTCATALOGPROPERTY (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Devuelve información acerca de las propiedades de catálogo de texto completo de SQL Server.

Convenciones de sintaxis de Transact-SQL

Sintaxis

FULLTEXTCATALOGPROPERTY ('catalog_name' ,'property')  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

Nota

Se quitarán las propiedades siguientes de una versión futura de SQL Server: LogSize y PopulateStatus. Evite el uso de estas propiedades en nuevos trabajos de desarrollo y piense en modificar las aplicaciones que las usan actualmente.

catalog_name
Es una expresión que contiene el nombre del catálogo de texto completo.

property
Es una expresión que contiene el nombre de la propiedad del catálogo de texto completo. La tabla presenta las propiedades y proporciona descripciones de la información que se devuelve.

Propiedad Descripción
AccentSensitivity Opción de distinción de acentos.

0 = No distinguir acentos

1 = Distinguir acentos
IndexSize Tamaño lógico del catálogo de texto completo en megabytes (MB). Incluye el tamaño de los índices semánticos de similitud de documentos y frases clave.

Para obtener más información, vea la sección "Comentarios" más adelante en este tema.
ItemCount Número de elementos indexados, lo que incluye todos los índices de similitud de documentos, frases clave y texto completo en un catálogo
LogSize Se admite únicamente por compatibilidad con versiones anteriores. Siempre devuelve 0.

Tamaño, en bytes, del conjunto combinado de los registros de errores asociados a un catálogo de texto completo de los servicios de Microsoft Search.
MergeStatus Indica si hay en curso una combinación maestra.

0 = la combinación maestra no está en curso

1 = la combinación maestra está en curso.
PopulateCompletionAge Diferencia, en segundos, entre la terminación del último rellenado del índice de texto completo y 01/01/1990 00:00:00.

Solo se actualiza para rastreos completos e incrementales. Devuelve 0 si no se ha producido ningún rellenado.
PopulateStatus 0 = Inactivo

1 = Rellenado completo en curso

2 = En pausa

3 = Acelerado

4 = En recuperación

5 = Apagado

6 = Rellenado incremental en curso

7 = Generación del índice

8 = El disco está lleno. En pausa.

9 = Seguimiento de cambios
UniqueKeyCount Número de claves únicas en el catálogo de texto completo.
ImportStatus Indica si se va a importar el catálogo de texto completo.

0 = no se va a importar el catálogo de texto completo.

1 = Si se va a importar el catálogo de texto completo.

Tipos de valor devuelto

int

Excepciones

Devuelve NULL si se produce un error o si el autor de la llamada no tiene permiso para ver el objeto.

En SQL Server, un usuario solo puede ver los metadatos de elementos protegibles. Estos elementos protegibles son los que posee el usuario o para los que se le ha concedido permiso. Como tales, las funciones integradas que emiten metadatos, como FULLTEXTCATALOGPROPERTY, pueden devolver NULL si el usuario no tiene permisos sobre el objeto. Para más información, vea sp_help_fulltext_catalogs (Transact-SQL).

Comentarios

FULLTEXTCATALOGPROPERTY ('catalog_name','IndexSize') solo examina fragmentos con el estado 4 o 6, como se muestra en sys.fulltext_index_fragments. Estos fragmentos forman parte del índice lógico. Por lo tanto, la propiedad IndexSize solo devuelve el tamaño del índice lógico.

Sin embargo, durante una mezcla de índice, el tamaño de índice real podría ser el doble de su tamaño lógico. Para encontrar el tamaño real que está usando un índice de texto completo durante una combinación, use el procedimiento almacenado del sistema sp_spaceused. Ese procedimiento mira en todos los fragmentos asociados a un índice de texto completo.

El rellenado de texto completo puede producir un error si restringe el crecimiento del archivo de catálogo de texto completo y no permite suficiente espacio para el proceso de combinación. En este caso, FULLTEXTCATALOGPROPERTY ("catalog_name" ,"IndexSize") devuelve 0 y se escribe el error siguiente en el registro de texto completo:

Error: 30059, Severity: 16, State: 1. A fatal error occurred during a full-text population and caused the population to be cancelled. Population type is: FULL; database name is FTS_Test (id: 13); catalog name is t1_cat (id: 5); table name t1 (id: 2105058535). Fix the errors that are logged in the full-text crawl log. Then, resume the population. The basic Transact-SQL syntax for this is: ALTER FULLTEXT INDEX ON table_name RESUME POPULATION.

Es importante que las aplicaciones no experimenten bucles de espera; para ello, compruebe si la propiedad PopulateStatus indica inactividad. Esto significaría que el rellenado se ha completado. Esta comprobación excluye los ciclos de CPU de la base de datos y los procesos de búsqueda de texto completo, y provoca tiempos de espera. Normalmente, es mejor comprobar la propiedad PopulateStatus en el nivel de tabla, TableFullTextPopulateStatus, de la función del sistema OBJECTPROPERTYEX. Ésta y otras nuevas propiedades de texto completo en OBJECTPROPERTYEX proporcionan información más detallada sobre las tablas de indización de texto completo. Para obtener más información, vea OBJECTPROPERTYEX (Transact-SQL).

Ejemplos

En el ejemplo siguiente se devuelve el número de elementos de texto completo indizados que se encuentran en el catálogo de texto completo Cat_Desc.

USE AdventureWorks2022;  
GO  
SELECT fulltextcatalogproperty('Cat_Desc', 'ItemCount');  
GO  

Consulte también

FULLTEXTSERVICEPROPERTY (Transact-SQL)
Funciones de metadatos (Transact-SQL)
sp_help_fulltext_catalogs (Transact-SQL)