Condividi tramite


FULLTEXTCATALOGPROPERTY (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure

Restituisce informazioni sulle proprietà del catalogo full-text in SQL Server.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

FULLTEXTCATALOGPROPERTY ('catalog_name' ,'property')  

Argomenti

Nota

Le proprietà seguenti verranno rimosse in una versione futura di SQL Server: LogSize e PopulateStatus. Evitare di utilizzare queste proprietà in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui vengono utilizzate.

catalog_name
Espressione che contiene il nome del catalogo full-text.

property
Espressione che contiene il nome della proprietà di catalogo full-text. Nella tabella seguente vengono descritte le proprietà e le informazioni restituite.

Proprietà Descrizione
AccentSensitivity Impostazione relativa alla distinzione tra caratteri accentati e non accentati.

0 = distinzione dei caratteri accentati/non accentati disattivata

1 = distinzione dei caratteri accentati/non accentati attivata
IndexSize Dimensioni logiche in megabyte del catalogo full-text. Include le dimensioni della frase chiave semantica e degli indici di somiglianza del documento.

Per ulteriori informazioni, vedere la sezione "Note" più avanti in questo argomento.
ItemCount Numero di elementi indicizzati, inclusi tutti gli indici full-text, di frasi chiave e di somiglianza del documento in un catalogo
LogSize Supportato unicamente per compatibilità con le versioni precedenti. Restituisce sempre 0.

Dimensioni in byte del set completo dei log degli errori associati a un catalogo full-text del servizio Microsoft Search.
MergeStatus Indica se è in corso un'unione nell'indice master.

0 = unione nell'indice master non in corso

1 = unione nell'indice master in corso
PopulateCompletionAge Differenza espressa in secondi tra il completamento dell'ultimo popolamento di indici full-text e la data 01/01/1990 00.00.00.

Aggiornato solo per ricerche per indicizzazione complete o incrementali. Restituisce 0 se non si verifica alcun popolamento.
PopulateStatus 0 = inattivo

1 = popolamento completo in corso

2 = sospeso

3 = rallentato

4 = Recupero in corso

5 = Chiusura

6= popolamento incrementale in corso

7 = compilazione dell'indice in corso

8 = disco pieno (sospeso)

9 = rilevamento modifiche
UniqueKeyCount Numero di chiavi univoche nel catalogo full-text.
ImportStatus Indica se il catalogo full-text viene importato.

0 = Il catalogo full-text non viene importato.

1 = Il catalogo full-text viene importato.

Tipi restituiti

int

Eccezioni

Restituisce NULL in caso di errore o se un chiamante non ha l'autorizzazione necessaria per visualizzare l'oggetto.

In SQL Server un utente può visualizzare solo i metadati delle entità a protezione diretta di cui è proprietario o per cui ha autorizzazioni. Di conseguenza, le funzioni predefinite di creazione dei metadati come FULLTEXTCATALOGPROPERTY possono restituire NULL se l'utente non ha alcuna autorizzazione per l'oggetto. Per altre informazioni, vedere sp_help_fulltext_catalogs (Transact-SQL).

Osservazioni:

FULLTEXTCATALOGPROPERTY ('catalog_name','IndexSize') analizza solo i frammenti con stato 4 o 6, come descritto in sys.fulltext_index_fragments. Tali frammenti fanno parte dell'indice logico. Di conseguenza, la proprietà IndexSize restituisce solo le dimensioni dell'indice logico.

Durante un unione degli indici, tuttavia, le dimensioni effettive dell'indice potrebbero essere doppie rispetto a quelle logiche. Per trovare le dimensioni effettive utilizzate da un indice full-text durante un merge, usare la stored procedure di sistema sp_spaceused. Tale procedura analizza tutti i frammenti associati a un indice full-text.

Il popolamento full-text potrebbe non riuscire se si limita l'aumento delle dimensioni del file di catalogo full-text e non si concede spazio sufficiente per il processo di unione. In questo caso, FULLTEXTCATALOGPROPERTY ('catalog_name','IndexSize') restituisce 0 e nel log full-text viene scritto l'errore seguente:

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.

È importante che le applicazioni non attendano in un ciclo limitato che la proprietà PopulateStatus diventi inattiva. Il passaggio allo stato inattivo indica che il popolamento è stato completato. Questo controllo sottrae cicli della CPU dal database e dai processi di ricerca full-text e provoca timeout. È in genere consigliabile controllare la proprietà PopulateStatus corrispondente a livello di tabella, TableFullTextPopulateStatus nella funzione di sistema OBJECTPROPERTYEX. Questa e le altre nuove proprietà full-text disponibili per la funzione OBJECTPROPERTYEX forniscono informazioni sulla granularità relative alle tabelle di indicizzazione full-text. Per altre informazioni, vedere OBJECTPROPERTYEX (Transact-SQL).

Esempi

Nell'esempio seguente viene restituito il numero di voci indicizzate full-text del catalogo full-text Cat_Desc.

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

Vedi anche

FULLTEXTSERVICEPROPERTY (Transact-SQL)
Funzioni per i metadati (Transact-SQL)
sp_help_fulltext_catalogs (Transact-SQL)