KB963659 - FIX: Recebe mensagens de erro quando executa uma população para um grande índice de texto completo no SQL Server 2008 ou no SQL Server 2008 R2

A Microsoft distribui as correções do Microsoft SQL Server 2008 como um ficheiro transferível. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção SQL Server 2008.

Sintomas

Sintoma 1Quando executa uma população para um grande índice de texto completo no Microsoft SQL Server 2008 ou no Microsoft SQL Server 2008 R2, poderá receber uma mensagem de erro no ficheiro de registo de texto completo. O número de vezes que esta mensagem de erro é registada depende do tamanho do lote menos um. Por exemplo, num computador de 32 bits, o tamanho do lote é de 1.000, pelo que o erro é registado 999 vezes. A mensagem de erro assemelha-se ao seguinte:

Erro '0x8004cb04: O wordlist in-memory é corrompido. Isto deve-se a um filtro defeituoso, quebra-palavras ou outro componente de indexação.» ocorrido durante a população de índice de texto completo para a tabela ou vista indexada '[smarsh]. [dbo]. [ArchiveMsgs]' (ID de vista indexada ou tabela '160719625', data de dados ID '7),valor-chave de texto completo '291484087'. Tentará reindexá-la.

Depois de receber esta mensagem de erro, poderá também receber a seguinte mensagem de erro para o tamanho do lote menos uma:

<Data> <Hora> espião 28s Erro '0x80040e28' ocorreu durante a população de índice de texto completo para tabela ou vista indexada '[smarsh]. [dbo]. [ArchiveMsgs]' (ID de vista indexada ou de tabela ou indexada '160719625', data de dados ID '7'), valor-chave de texto completo '199598211'. Tentará reindexá-la.

Depois de receber esta mensagem de erro, poderá também receber a seguinte mensagem de erro para o tamanho do lote menos uma:

<Data> <Tempo> espião 26s Erro '0x80043630: O processo de daemon do filtro MSFTEFD cronometrado por uma razão desconhecida. Isto pode indicar que um bug num filtro, quebra-palavras ou manipulador de protocolo.' ocorreu durante a população de índice de texto completo para a tabela ou vista indexada '[smarsh]. [dbo]. [ArchiveMsgs]' (ID de vista indexada ou tabela '160719625', ID de base de dados '7'), valor-chave de texto completo '14304130'. Tentará reindexá-la.

Sintoma 2Além disso, pode notar que o processo FDHOST.exe está avariado. Quando tenta executar uma consulta de texto completo ou realizar uma população de texto completo, recebe a seguinte mensagem de volta ao cliente.

Msg 30053, Nível 16, Estado 102, Linha 1 Palavra quebra cronometrada para a cadeia de consulta de texto completo. Isto pode acontecer se o quebra-palavras demorar muito tempo a processar a cadeia de consulta de texto completo, ou se um grande número de consultas estiver em execução no servidor. Tente executar a consulta novamente sob uma carga mais leve.

Quando examina os registos SQLFT* para este catálogo, nota esta mensagem de erro:

O erro '0x80004005' ocorreu durante a população de índice de texto completo para a tabela ou vista indexada '[DBNAME]. [dbo]. [TABLENAME]» (ID de vista indexada ou tabela ou ponto de vista indexado '1204001724', ID de base de dados '5'), valor-chave de texto completo '4'. Tentará reindexá-la.

Quando examina o Errorlog SQL, nota esta mensagem de erro:

Erro: 30089, Severidade: 17, Estado: 1.O processo do hospedeiro de filtro de texto completo (FDHost) parou anormalmente. Isto pode ocorrer se um componente linguístico configurado ou defeituoso incorretamente configurado, como um quebra-palavras, um cauler ou um filtro tiver causado um erro irrecuperável durante a indexação completa ou processamento de consultas. O processo será reiniciado automaticamente.

Causa

Este problema ocorre devido a um erro na comunicação entre o processo Sqlservr.exe e o processo Fdhost.exe. Quando os lotes são enviados do processo Sqlservr.exe para o processo Fdhost.exe, por vezes a memória partilhada de saída (OSM), que é a memória partilhada de Sqlservr.exe para Fdhost.exe, tem espaço insuficiente para encaixar na coluna seguinte de um documento. Quando isto ocorre, o processo Sqlservr.exe envia uma mensagem para notificar o processo Fdhost.exe para processar todos os dados existentes no OSM. Enquanto o processo Fdhost.exe está a processar dados, a memória partilhada de entrada (ISM), que é a memória partilhada de Fdhost.exe a Sqlservr.exe, pode ficar cheia. Nesta situação, o processo Fdhost.exe envia uma mensagem de "rebobinar" para o processo Sqlservr.exe. Esta mensagem solicita que o processo Sqlservr.exe reenresque o último documento da primeira coluna. No entanto, quando o processo Sqlservr.exe começa a enviar o documento novamente, começa a partir da coluna 2 em vez da coluna 1. Isto causa as mensagens de erro mencionadas na secção "Sintomas".

Resolução

Informação de atualização cumulativa

Sql Server 2008 R2 Service Pack 2

A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 3. Para obter mais informações sobre como obter este pacote de atualização cumulativa para SQL Server 2008 R2 Service Pack 2, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

2754552 Pacote de atualização cumulativo 3 para SQL Server 2008 R2 Service Pack 2 Nota Como as construções são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção do SqL Server 2008 R2 Service Pack 2. Recomendamos que considere aplicar o mais recente lançamento de correção que contém este hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

2730301 O SQL Server 2008 R2 constrói que foram lançados após o lançamento do SQL Server 2008 R2 Service Pack 2

SQL Server 2008

A correção para este problema foi lançada pela primeira vez no Cumulativo Update 4 para a versão de lançamento do SQL Server 2008. Para obter mais informações sobre como obter este pacote de atualização cumulativa para o SQL Server 2008, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

963036 Pacote de atualização cumulativo 4 para SQL Server 2008Nota Como as construções são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção SQL Server 2008. Recomendamos que considere aplicar o mais recente lançamento de correção que contém este hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

956909 O SQL Server 2008 constrói que foram lançados após o lançamento do SQL Server 2008

Pacote de serviço SQL Server 2008 1

A correção para este problema foi lançada pela primeira vez na Cumulativa Update 1 para SQL Server 2008 Service Pack 1. Para obter mais informações sobre como obter este pacote de atualização cumulativa para o SQL Server 2008, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

969099 Pacote de atualização cumulativo 1 para SQL Server 2008 Service Pack 1Nota Como as construções são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção SQL Server 2008. Recomendamos que considere aplicar o mais recente lançamento de correção que contém este hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

970365 O SQL Server 2008 constrói que foram lançados após o lançamento do SQL Server 2008 Service Pack 1

Solução

Para contornar este problema, aumente o tamanho do ISM. Para tal, configurar a variável ISM_Size utilizando o procedimento sp_fulltext_service armazenado. Para mostrar o valor atual:sp_fulltext_service 'ism_size' Para alterar o valor para 16:sp_fulltext_service 'ism_size',@value=16Nota: Terá de reiniciar o serviço SQL Server para que esta alteração entre em vigor.

Estado

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".

Mais Informações

Este problema não impede que a população se complete. O índice de texto completo tem uma lógica de relembarca incorporada que continuará a tentar a entrada falhada até que tenha sucesso. Portanto, pode ignorar com segurança as mensagens de erro. Os únicos efeitos colaterais potenciais conhecidos são que pode levar mais tempo do que o habitual para a população completar e o crescimento do registo de texto completo aumenta significativamente para o relato do erro. A lógica de reação no código fonte causa uma eventual população bem sucedida sem corrupção ao índice, apesar da mensagem de erro que indica uma possível corrupção. Se estiver a correr para o Sintoma #2 descrito acima, então as consultas de pesquisa de texto completo ou a população não funcionarão, uma vez que o componente FDHOST não está em condições de funcionar e terá de aplicar esta atualização cumulativa.

Mais informações sobre o pacote de atualização cumulativa 4 para o SQL Server 2008

Para obter mais informações sobre os ficheiros que são alterados e para obter informações sobre quaisquer pré-requisitos para aplicar o pacote de atualização cumulativa que contenha o hotfix descrito neste artigo da Microsoft Knowledge Base, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

963036 Pacote de atualização cumulativo 4 para SQL Server 2008

Mais informações sobre o pacote de atualização cumulativa 1 para o SQL Server 2008 Service Pack 1

Para obter mais informações sobre os ficheiros que são alterados e para obter informações sobre quaisquer pré-requisitos para aplicar o pacote de atualização cumulativa que contenha o hotfix descrito neste artigo da Microsoft Knowledge Base, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

969099 Pacote de atualização cumulativo 1 para SQL Server 2008 Service Pack 1

Referências

Para obter mais informações sobre a lista de construções que estão disponíveis após o lançamento do SQL Server 2008, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

956909 O SQL Server 2008 constrói que foram lançados após o lançamento do SQL Server 2008Para obter mais informações sobre o Modelo de Manutenção Incremental para O Servidor SQL, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

935897 Um Modelo de Manutenção Incremental está disponível na equipa do SQL Server para entregar hotfixes para problemas relatadosPara obter mais informações sobre o esquema de nomeação para atualizações do SQL Server, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

822499 Novo esquema de nomeação para pacotes de atualização de software do Microsoft SQL ServerPara obter mais informações sobre a terminologia da atualização do software, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

824684Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×