Resolver problemas de indexação de texto completo

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

Resolução de falhas na indexação de texto completo

Ao preencher ou manter um índice de texto completo, o indexador de texto completo pode falhar em indexar uma ou mais linhas pelas razões descritas na lista seguinte. Estes erros ao nível das linhas não impedem a população de completar. O indexador ignora estas linhas, o que significa que não pode consultar conteúdo contido nessas linhas.

Falhas de indexação podem ocorrer quando:

  • O indexador não consegue encontrar nem carregar um filtro ou componente de quebrador de palavras. Esta falha pode ocorrer se a linha da tabela contiver um formato de documento ou conteúdo numa linguagem que não esteja registada na instância do SQL Server. Esta falha também pode ocorrer se o separador de palavras registado ou o componente de filtro não estiver assinado, ou se a verificação da assinatura falhar ao carregar o componente. O SQL do Azure e o Azure SQL Managed Instance não suportam word breakers de terceiros.

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

Para cada falha em cada linha, o registo de rastreamento contém detalhes sobre o motivo da falha. O número de erros é resumido no 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 integral excede o limite do número de linhas que um catálogo de texto completo pode conter.

  • Altera, elimina ou recria um índice agrupado ou um índice de chave de texto completo na tabela que está a ser indexada.

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

  • Um grupo de ficheiros que contém a tabela indexada para pesquisa de texto completo fica indisponível ou é colocado em modo só de leitura.

Examine o registo de rastreamento no final de qualquer operação significativa de indexação em texto completo, ou quando verificar que uma população não foi concluída.

Componentes não assinados

Por padrão, o indexador de texto completo requer que os filtros e separadores de palavras que ele carrega sejam assinados. Se não estiverem assinados, o que pode acontecer quando instalas componentes personalizados, tens de configurar o indexador de texto completo para ignorar a verificação de assinaturas.

Importante

Ignorar a verificação de assinatura torna a instância do SQL Server menos segura. Deve assinar quaisquer componentes que implemente, ou garantir que os componentes que adquirir estão assinados. Para informações sobre componentes de assinatura, consulte sp_fulltext_service.

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

Ao restaurar o registo de transações de uma base de dados, pode ver um aviso a indicar que o índice de texto completo não está num estado consistente. Este aviso surge porque o índice de texto completo numa tabela foi modificado após a backup da base de dados. Para trazer o índice de texto completo para um estado consistente, você deve executar uma população completa (rastreamento) na tabela. Para obter mais informações, consulte Preencher índices de Full-Text.