У меня есть эта таблица базы данных, которая должна поддерживать полнотекстовый индекс в актуальном состоянии. Однако я не вижу, чтобы это происходило вообще (нет ошибки в журнале, потому что последний журнал, который я вижу, был, когда я запустил его вручную).
Вот что я вижу ...
но на самом столе ...
Может ли это быть причиной того, почему это не происходит автоматически?
(..\MSSQL\Log\SQLFT*)
Ответы:
Вы смотрите не в том месте.
Вы должны проверить, как показано ниже:
Используя T-SQL ..
После этого вы можете проверить статус последней заполненной даты и времени.
Вставьте некоторые данные ..
Теперь вы увидите, что каталог FT обновлен.
В журналах (
..\MSSQL\Log\SQLFT*
) также ниже будет сообщение ...От BOL :
Также обратитесь к разделу «Повышение производительности полнотекстовых индексов».
источник
Issue I am looking at is why it doesn't seem to update at all until I manually rebuild the index.
Вы установили это согласно тому, что я показал. Если есть много изменений, то это займет некоторое время, так какThe full-text index is updated in the background, however, so propagated changes might not be reflected immediately in the index.
По какой-то причине полнотекстовый индексатор прекратил автоматическое заполнение одной из моих баз данных SQL 2012 после того, как моя вторичная реплика базы данных группы доступности вступила во владение и стала основной репликой.
После удаления полнотекстового индекса и его повторного создания в таблице с автоматическим заполнением он снова начал заполняться автоматически. Я использовал SQL Management Studio и мастер создания полнотекстового индекса, чтобы воссоздать индекс.
Я беспокоился о том, сколько времени потребуется для полной индексации данных. Я был приятно удивлен, что для переиндексации 3 текстовых столбцов из таблицы с 547619 записями потребовалось всего около 5 минут.
Упомянутые в вопросе параметры отслеживания изменений на уровне таблицы остаются отключенными. Таким образом, отслеживание изменений полнотекстового индекса определенно отличается от настройки отслеживания изменений таблицы. Вам НЕ нужно включать отслеживание изменений таблиц для автоматической регистрации изменений полнотекстового индексирования и полнотекстового индексирования.
Выполнение следующего запроса из базы данных покажет, когда ваш полнотекстовый индексатор в последний раз выполнял сканирование.
Когда автозаполнение включено, crawl_end_date должен измениться после того, как вы вставите данные в таблицу.
Кроме того, вы заметите, что когда вы запускаете запрос, который использует полнотекстовый индекс, он покажет последние данные:
Дополнительные ссылки:
Статья, описывающая различные методы популяции полнотекстового поиска: https://msdn.microsoft.com/en-us/library/ms142575%28v=sql.100%29.aspx
Информация о запросе полнотекстовой индексированной таблицы: https://technet.microsoft.com/en-us/library/ms142571(v=sql.110).aspx#queries
Статья об архитектуре полнотекстового поиска: https://technet.microsoft.com/en-us/library/ms142571(v=sql.110).aspx#architecture
источник