FULLTEXTCATALOGPROPERTY (Transact-SQL)

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

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

FULLTEXTCATALOGPROPERTY ('catalog_name' ,'property')

Argomenti

[!NOTA]

In una versione futura di SQL Server verranno rimosse le proprietà seguenti: 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

    Supportata 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 o meno.

    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 dispone dell'autorizzazione necessaria per visualizzare l'oggetto.

In SQL Server 2012 un utente può visualizzare esclusivamente i metadati delle entità a sicurezza diretta di cui è proprietario o per cui ha ricevuto un'autorizzazione. Di conseguenza, le funzioni predefinite di creazione dei metadati come FULLTEXTCATALOGPROPERTY possono restituire NULL se l'utente non dispone di alcuna autorizzazione per l'oggetto. Per ulteriori 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 individuare le dimensioni effettiva utilizzate da un indice full-text durante un'unione, utilizzare la stored procedure di sistema sp_spaceused. Tale procedura analizza tutti i frammenti associati a un indice full-text. Se si limita l'aumento delle dimensioni del file di catalogo full-text e non si concede spazio sufficiente per il processo di unione, il popolamento full-text potrebbe non riuscire. In questo caso, FULLTEXTCATALOGPROPERTY ('catalog_name' ,'IndexSize') restituisce 0 e nel log full-text viene scritto il messaggio 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 rimangano in attesa in un ciclo fino a quando la proprietà PopulateStatus diventa inattiva (a indicare che il popolamento è stato completato). Ciò comporta infatti l'utilizzo di cicli della CPU normalmente utilizzati dai processi del database e della ricerca full-text, con un conseguente timeout. È inoltre 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 ulteriori 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 AdventureWorks2012;
GO
SELECT fulltextcatalogproperty('Cat_Desc', 'ItemCount');
GO

Vedere anche

Riferimento

FULLTEXTSERVICEPROPERTY (Transact-SQL)

Funzioni per i metadati (Transact-SQL)

sp_help_fulltext_catalogs (Transact-SQL)