Solucionar problemas de indexação de texto completo

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

Solucionar falhas de indexação de texto completo

Ao preencher ou manter um índice em texto completo, o indexador de texto completo pode falhar em indexar uma ou mais linhas pelos motivos descritos na lista a seguir. Esses erros em nível de linha não impedem a conclusão da população. O indexador pula essas linhas, o que significa que você não pode consultar conteúdo contido nessas linhas.

As falhas de indexação podem ocorrer quando:

  • O indexador não consegue encontrar ou carregar um componente de filtro ou quebrador de palavras. Essa falha pode ocorrer se a linha da tabela contiver um formato ou conteúdo de documento em uma linguagem que não esteja registrada na instância do SQL Server. Essa falha também pode ocorrer se o componente de word breaker ou filtro registrado não estiver assinado, ou se a verificação de assinatura falhar quando o componente está sendo carregado. SQL do Azure e Instância Gerenciada de SQL do Azure não suportam quebradores de palavras de terceiros.

  • Um componente, como um quebrador de palavras ou filtro, falha e retorna um erro ao indexador. Essa falha pode acontecer se o documento indexado estiver corrompido e o filtro não conseguir extrair texto do documento. Essa falha também pode ocorrer quando um componente não consegue lidar com o conteúdo de uma única linha acima de certo tamanho, devido a limites de memória no host do daemon do filtro de texto completo (fdhost.exe).

Para cada falha em nível de linha, o log de rastreamento contém detalhes sobre o motivo da falha. As contagens de erros são resumidas ao final de uma população completa ou incremental.

Outras falhas podem afetar o processo de indexação e impedir que a população conclua:

  • O índice de texto completo excede o limite de linhas que um catálogo em texto completo pode conter.

  • Você altera, remove ou reconstrói um índice agrupado ou índice de chaves em texto completo na tabela que está sendo indexada.

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

  • Um grupo de arquivos que contém a tabela indexada em texto completo fica offline ou é definido como somente leitura.

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

Componentes não assinados

Por padrão, o indexador de texto completo exige que os filtros e separadores de palavras que carrega estejam assinados. Se eles não estiverem assinados, o que pode acontecer quando você instala componentes personalizados, você deve 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. Você deve assinar quaisquer componentes que implementar, ou garantir que quaisquer componentes que adquirir estejam assinados. Para obter informações sobre como assinar componentes, consulte sp_fulltext_service.

Índice de texto completo em estado inconsistente após a restauração do registro de transações

Ao restaurar o log de transações de um banco de dados, você pode ver um aviso indicando que o índice de texto completo não está em um estado consistente. Esse aviso aparece porque o índice de texto completo em uma tabela foi modificado após 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 Preencher índices de texto completo.