FULLTEXTCATALOGPROPERTY (Transact-SQL)

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

Retorna informações sobre propriedades de catálogo de texto completo no SQL Server.

Convenções de sintaxe de Transact-SQL

Sintaxe

FULLTEXTCATALOGPROPERTY ('catalog_name' ,'property')  

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

Observação

As seguintes propriedades serão removidas em uma versão futura do SQL Server: LogSize e PopulateStatus. Evite usá-las em um novo projeto de desenvolvimento e planeje a modificação dos aplicativos que as utilizam atualmente.

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

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

Propriedade Descrição
AccentSensitivity Configuração da diferenciação de caracteres com/sem acento.

0 = não diferencia caracteres com/sem acento

1 = diferencia caracteres com/sem acento
IndexSize Tamanho lógico do catálogo de texto completo em MB (megabytes). Inclui o tamanho da frase-chave semântica e índices de semelhança de documento.

Para obter mais informações, consulte "Comentários", mais adiante neste tópico.
ItemCount Número de itens indexados que incluem todo o texto completo, frases-chave e índices de semelhança de documento em um catálogo
LogSize Com suporte somente para compatibilidade com versões anteriores. Sempre retorna 0.

Tamanho, em bytes, do conjunto combinado de logs de erros associado a um catálogo de texto completo do Serviço de Pesquisa do Microsoft.
MergeStatus Indica se uma mesclagem mestre está em andamento.

0 = a mesclagem mestre não está em andamento

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

Atualizado apenas para rastreamentos completos e incrementais. Retorna 0 caso não haja população.
PopulateStatus 0 = Ocioso

1 = População completa em andamento

2 = Pausado

3 = Acelerado

4 = Recuperando

5 = Desligado

6 = População incremental em andamento

7 = Construindo índice

8 = O disco está cheio. Em pausa.

9 = Controle de alterações
UniqueKeyCount Número de chaves exclusivas no catálogo de texto completo.
ImportStatus Indica se o catálogo de texto completo está sendo importado.

0 = o catálogo de texto completo não está sendo importado.

1= O catálogo de texto completo está sendo importado.

Tipos de retorno

int

Exceções

Retornará NULL em caso de erro ou se um chamador não tiver permissão para exibir o objeto.

Em SQL Server, um usuário só pode exibir os metadados de protegíveis. Esses protegíveis são os de propriedade do usuário ou para os quais ele recebeu permissão. Assim, as funções internas que emitem metadados, como FULLTEXTCATALOGPROPERTY, poderão retornar NULL se o usuário não tiver permissão no objeto. Para obter mais informações, confira sp_help_fulltext_catalogs (Transact-SQL).

Comentários

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

Porém, durante uma mesclagem de índice, o tamanho real do índice pode ser o dobro do seu tamanho lógico. Para localizar o tamanho real que está sendo consumido pelo índice de texto completo durante a mesclagem, use o procedimento armazenado do sistema sp_spaceused. Esse procedimento analisa todos os fragmentos associados a um índice de texto completo.

A população de texto completo poderá falhar. Ela poderá falhar se você restringir o crescimento do arquivo de catálogo de texto completo e não permitir espaço suficiente para o processo de mesclagem. Nesse caso, FULLTEXTCATALOGPROPERTY ('catalog_name','IndexSize') retorna 0 e o seguinte erro é gravado no log 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 os aplicativos não esperem em um loop estreito, verificando até a propriedade PopulateStatus ficar ociosa. Tornar-se ociosa indica que a população foi concluída. Essa verificação leva os ciclos da CPU para longe do banco de dados e dos processos de pesquisa de texto completo, causando tempos limite. Normalmente, a melhor opção é verificar a propriedade PopulateStatus correspondente no nível da tabela, TableFullTextPopulateStatus, na função do sistema OBJECTPROPERTYEX. Essa e outras propriedades de texto completo novas em OBJECTPROPERTYEX fornecem informações mais detalhadas sobre as tabelas de indexação de texto completo. Para obter mais informações, confira OBJECTPROPERTYEX (Transact-SQL).

Exemplos

O exemplo a seguir retorna o número de itens indexados de texto completo de um catálogo de texto completo chamado Cat_Desc.

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

Consulte Também

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