Partilhar via


FULLTEXTCATALOGPROPERTY (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do Azure

Devolve informação sobre propriedades de catálogo de texto completo no SQL Server.

Transact-SQL convenções de sintaxe

Sintaxe

FULLTEXTCATALOGPROPERTY ('catalog_name' ,'property')  

Arguments

Observação

As seguintes propriedades serão removidas numa futura versão do SQL Server: LogSize e PopulateStatus. Evite usar estas propriedades em novos projetos de desenvolvimento e planeie modificar aplicações que já utilizem alguma delas.

catalog_name
É uma expressão que contém o nome do catálogo de texto completo.

propriedade
É uma expressão que contém o nome da propriedade catálogo de texto completo. A tabela lista as propriedades e fornece descrições da informação devolvida.

Propriedade Description
Sensibilidade ao Acento Definição de sensibilidade ao sotaque.

0 = Insensível ao sotaque

1 = Sensível ao sotaque
IndexSize Tamanho lógico do catálogo de texto completo em megabytes (MB). Inclui o tamanho das palavras-chave semânticas e dos índices de similaridade de documentos.

Para mais informações, consulte "Observações" mais adiante neste tópico.
ItemCount Número de itens indexados incluindo todos os índices de texto completo, frases-chave e similaridade de documentos num catálogo
LogSize Suportado apenas para compatibilidade retroativa. Sempre devolve 0.

Tamanho, em bytes, do conjunto combinado de registos de erro associados a um catálogo de texto completo do Microsoft Search Service.
MergeStatus Indica se uma fusão mestre está em curso.

0 = a fusão mestre não está em curso

1 = a fusão mestre está em curso
PopulateCompletionAge A diferença em segundos entre a conclusão da última população do índice em texto completo e 01/01/1990 00:00:00.

Só é atualizado para crawls completos e incrementais. Retorna 0 se não houver população.
Estado da população 0 = Ocioso

1 = População total em curso

2 = Pausado

3 = Limitado

4 = Recuperação

5 = Paralisação

6 = População incremental em curso

7 = Índice de edifícios

8 = Disco cheio. Parou.

9 = Acompanhamento de alterações
UniqueKeyCount Número de chaves únicas no catálogo de texto completo.
ImportStatus Indica se o catálogo em texto completo está a ser importado.

0 = O catálogo do texto completo não está a ser importado.

1 = O catálogo em texto completo está a ser importado.

Tipos de devolução

int

Exceptions

Devolve NULL em caso de erro ou se o chamador não tiver permissão para visualizar o objeto.

No SQL Server, o utilizador só pode visualizar os metadados dos securáveis. Estes securables são aqueles que pertencem ao utilizador ou sobre os quais o utilizador recebeu permissão. Assim, funções incorporadas que emitem metadados, como o FULLTEXTCATALOGPROPERTY, podem devolver NULL se o utilizador não tiver qualquer permissão sobre o objeto. Para mais informações, consulte sp_help_fulltext_catalogs (Transact-SQL).

Observações

FULLTEXTCATALOGPROPERTY ('catalog_name','IndexSize') analisa apenas fragmentos com estado 4 ou 6, conforme mostrado em sys.fulltext_index_fragments. Estes fragmentos fazem parte do índice lógico. Assim, a propriedade IndexSize devolve apenas o tamanho lógico do índice.

Durante uma fusão de índices, no entanto, o tamanho real do índice pode ser o dobro do seu tamanho lógico. Para encontrar o tamanho real que está a ser consumido por um índice de texto completo durante uma fusão, use o procedimento armazenado do sistema sp_spaceused . Esse procedimento analisa todos os fragmentos associados a um índice de texto completo.

A população do texto completo pode falhar. Pode falhar se restringires o crescimento do ficheiro de catálogo em texto completo e não deixares espaço suficiente para o processo de fusão. Neste caso, FULLTEXTCATALOGPROPERTY ('catalog_name','IndexSize') devolve 0 e o seguinte erro é escrito no registo 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.

É importante que as aplicações não fiquem presas num ciclo apertado, verificando se a propriedade PopulateStatus fica inativa. Ficar inativo indica que a população terminou. Esta verificação retira ciclos de CPU da base de dados e dos processos de pesquisa em texto completo, e causa tempos de espera. Normalmente é melhor verificar a propriedade PopulateStatus correspondente ao nível da tabela, TableFullTextPopulateStatus , na função do sistema OBJECTPROPERTYEX. Esta e outras novas propriedades de texto completo no OBJECTPROPERTYEX fornecem informações mais detalhadas sobre tabelas de indexação em texto completo. Para mais informações, consulte OBJECTPROPERTYEX (Transact-SQL).

Examples

O exemplo seguinte devolve o número de itens indexados em texto completo num catálogo de texto completo chamado Cat_Desc.

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

Ver também

FULLTEXTSERVICEPROPERTY (Transact-SQL)
Funções de metadados (Transact-SQL)
sp_help_fulltext_catalogs (Transact-SQL)