Solucionar problemas na indexação de texto completo

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

Solucionar problemas de falhas na indexação de texto completo

Ao popular ou manter um índice de texto completo, o indexador de texto completo, pelas razões descritas a seguir, talvez falhe ao indexar uma ou mais linhas. Esses erros em nível de linha não impedem a conclusão da população. O indexador ignora essas linhas, o que significa que não é possível consultar seu conteúdo.

As falhas de indexação podem ocorrer quando:

  • O indexador não consegue localizar ou carregar um filtro ou componente do separador de palavra. Essa falha pode ocorrer se a linha da tabela tiver um formato de documento ou conteúdo em idioma não registrado com a instância do SQL Server. Essa falha também pode ocorrer se o componente do filtro ou o separador de palavra registrado não estava assinado ou se houve falha na verificação de assinatura ao carregar. Não há suporte para separadores de palavras de terceiros no SQL do Azure e na Instância Gerenciada de SQL do Azure.

  • Um componente, tal como um separador de palavras ou filtro, falha e retorna um erro ao indexador. Essa falha pode ocorrer se o documento a indexar estiver corrompido e o filtro não conseguir extrair seu texto. Essa falha também pode ocorrer quando um componente não puder tratar o conteúdo de uma única linha acima de um determinado tamanho, devido a limites de memória no host do daemon do filtro (fdhost.exe).

Para cada falha do nível de linha, o log de rastreamento contém detalhes da razão da falha. As contas de erro são resumidas no término de uma população completa ou com incremento.

Há outras falhas que podem impactar o próprio processo de indexação e impedir a conclusão da população:

  • O índice de texto completo excede o limite para o número de linhas que podem ser contidas em um catálogo de texto completo.

  • Um índice clusterizado ou um índice de chave de texto completo da tabela em indexação são alterados, descartados ou recriados.

  • Uma falha no hardware ou disco corrompido resulta em corrupção do catálogo de texto completo.

  • Um grupo de arquivo que contém a tabela cujo texto completo passa por indexação fica offline ou é do tipo somente leitura.

Examine o log de rastreamento ao término de qualquer operação significativa de população de índice de texto completo ou ao descobrir que a população não foi concluída.

Componentes não assinados

Por padrão, o indexador de texto completo requer os filtros e separadores de palavras que carrega ao assinar. Se não estiverem assinados, o que algumas vezes é o caso quando os componentes personalizados são instalados, é necessário configurar o indexador de texto completo para ignorar a verificação de assinatura.

Importante

Ignorar a verificação de assinatura torna a instância do SQL Server menos segura. Recomendamos assinar quaisquer componentes implementados ou garantir que os componentes que você adquirir estão assinados. Veja informações sobre componentes de assinatura em sp_fulltext_service (Transact-SQL).

Índice de texto completo em estado inconsistente após o log de transações ser restaurado

Ao restaurar o log de transações de um banco de dados, é possível que apareça um aviso indicando que o índice de texto completo não está em um estado consistente. O motivo pelo qual isso ocorre é que o índice de texto completo de uma tabela foi modificado após ter sido feito o backup do banco de dados. Para trazer o índice de texto completo a um estado consistente, você deve executar uma população completa (rastreamento) na tabela. Para obter mais informações, veja Popular índices de texto completo.

Confira também

ALTER FULLTEXT CATALOG (Transact-SQL)
Popular índices de texto completo