Версия:
Microsoft SQL Server 2008 R2 (RTM) – 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1)

Проблема:
В таблице IndexTable есть полнотекстовый индекс, около 3 миллиардов строк.
При старте актуализации (populate) получаем очень много таких ошибок в FT-логе:

2012-07-17 18:34:26.04 spid25s Error ‘0x80043630: The filter daemon process MSFTEFD timed out for an unknown reason. This may indicate a bug in a filter, wordbreaker, or protocol handler.’ occurred during full-text index population for table or indexed view ‘[TS_MageDB].[dbo].[IndexTable]’ (table or indexed view ID ‘667201477’, database ID ‘7’), full-text key value ‘1986286701’. Attempt will be made to reindex it.

Продолжается это 9 дней, загрузка процессора и диска не превышает ежедневную, процесс не заканчивается.

Ничего особенно полезного здесь (в моем случае 2008 R2, а не 2008) и здесь не нашел (Только “We have therefore resolve this issue as by design”)

Решение:
Помогло только пересоздание индекса, с последующим заполнением:

DROP FULLTEXT INDEX ON [dbo].[IndexTable]
CREATE FULLTEXT INDEX ON [dbo].[IndexTable]( [IndexValue] LANGUAGE [Russian])
KEY INDEX [PK_IndexTable] ON ([FT_IndexTeble], FILEGROUP [ftfg_FT_IndexTeble])
WITH (CHANGE_TRACKING = OFF, STOPLIST = SYSTEM)

или, если мы хотим запускать заполнение позже, например, ночью, то:

...CHANGE_TRACKING = OFF, NO POPULATION...

и стартуем:

ALTER FULLTEXT INDEX ON [dbo].[IndexTable] START FULL POPULATION

Процесс длился около 12 часов, ошибок больше не было.

Leave a Reply

Your email address will not be published. Required fields are marked *

March 2024
M T W T F S S
« Jul    
 123
45678910
11121314151617
18192021222324
25262728293031