FULLTEXTCATALOGPROPERTY (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Renvoie des informations concernant les propriétés de catalogue de texte intégral dans SQL Server.

Conventions de la syntaxe Transact-SQL

Syntaxe

FULLTEXTCATALOGPROPERTY ('catalog_name' ,'property')  

Remarque

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.

Arguments

Notes

Les propriétés suivantes seront supprimées dans une version ultérieure de SQL Server : LogSize et PopulateStatus. Évitez par conséquent d'utiliser ces propriétés dans un nouveau travail de développement et prévoyez la modification des applications qui les utilisent actuellement.

CATALOG_NAME
Expression contenant le nom du catalogue de texte intégral.

property
Expression contenant le nom de la propriété de catalogue de texte intégral. Le tableau donne la liste des propriétés et fournit les descriptions des informations renvoyées.

Propriété Description
AccentSensitivity Respect des accents.

0 = Accents ignorés

1 = Accents respectés
IndexSize Taille logique du catalogue de texte intégral en mégaoctets (Mo). Inclut la taille des index d'expression de clé sémantique et de ressemblance du document.

Pour plus d'informations, consultez la section « Remarques » plus loin dans cette rubrique.
ItemCount Nombre d’éléments indexés, y compris tous les index de recherche en texte intégral, d’expression de clé et de ressemblance du document dans un catalogue
LogSize Pris en charge pour la compatibilité descendante uniquement. Retourne toujours 0.

Taille en octets du jeu combiné de journaux d'erreurs associés à un catalogue de texte intégral du service de Recherche Microsoft.
MergeStatus Indique si une fusion principale est en cours.

0 = Aucune fusion principale en cours

1 = Fusion principale en cours
PopulateCompletionAge Différence en secondes entre la fin du remplissage du dernier index de texte intégral et le 01/01/1990 00:00:00

Propriété uniquement mise à jour pour des analyses complètes ou incrémentielles. Renvoie la valeur 0 si aucun remplissage ne s'est produit.
PopulateStatus 0 = Inactif

1 = Remplissage complet en cours

2 = En pause

3 = Accéléré

4 = Récupération

5 = Arrêt

6 = Remplissage incrémentiel en cours

7 = Indexation en cours

8 = Disque plein Suspendu.

9 = Suivi des modifications
UniqueKeyCount Nombre de clés uniques dans le catalogue de texte intégral.
ImportStatus Indique si le catalogue de texte intégral est en cours d’importation.

0 = Le catalogue de texte intégral n’est pas en cours d’importation.

1 = Indique que le catalogue de texte intégral est en cours d'importation.

Types de retour

int

Exceptions

Retourne NULL en cas d’erreur ou si un appelant n’est pas autorisé à voir l’objet.

Dans SQL Server, un utilisateur ne peut qu’afficher les métadonnées des sécurisables. Ces sécurisables sont ceux dont il est propriétaire ou pour lesquels il dispose des autorisations nécessaires. Par conséquent, les fonctions intégrées générant des métadonnées, telles que FULLTEXTCATALOGPROPERTY, peuvent retourner la valeur NULL si l’utilisateur ne dispose d’aucune autorisation sur l’objet. Pour plus d’informations, consultez sp_help_fulltext_catalogs (Transact-SQL).

Remarques

FULLTEXTCATALOGPROPERTY ('catalog_name','IndexSize') examine uniquement les fragments ayant l’état 4 ou 6, comme indiqué dans sys.fulltext_index_fragments. Ces fragments font partie de l'index logique. Par conséquent, la propriété IndexSize ne retourne que la taille de l’index logique.

Pendant une fusion d'index, toutefois, la taille d'index réelle peut être le double de sa taille logique. Pour rechercher la taille réelle consommée par un index de recherche en texte intégral pendant une fusion, utilisez la procédure stockée système sp_spaceused. Cette procédure examine tous les fragments associés à un index de recherche en texte intégral.

Le remplissage de texte intégral peut échouer. Il peut échouer si vous limitez la croissance du fichier de catalogue de texte intégral et si vous n’assignez pas un espace suffisant au processus de fusion. Dans ce cas, FULLTEXTCATALOGPROPERTY ('catalog_name','IndexSize') retourne 0 et l'erreur suivante est écrite dans le journal de texte intégral :

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.

Il est important que les applications n’attendent pas en boucle serrée, en vérifiant que la propriété PopulateStatus devient inactive. Cela indique que le remplissage est terminé. Cette vérification supprime des cycles d’UC de la base de données et du processus de recherche en texte intégral, et provoque des délais d’attente. En général, il vaut mieux vérifier la propriété PopulateStatus correspondante au niveau de la table, TableFullTextPopulateStatus dans la fonction système OBJECTPROPERTYEX. Cette propriété et d'autres propriétés de texte intégral nouvelles dans OBJECTPROPERTYEX fournissent des informations plus précises sur les tables d'indexation de texte intégral. Pour plus d’informations, consultez OBJECTPROPERTYEX (Transact-SQL).

Exemples

L'exemple suivant renvoie le nombre d'éléments indexés en texte intégral dans un catalogue de texte intégral nommé Cat_Desc.

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

Voir aussi

FULLTEXTSERVICEPROPERTY (Transact-SQL)
Fonctions de métadonnées (Transact-SQL)
sp_help_fulltext_catalogs (Transact-SQL)