Поделиться через


Устранение неполадок полнотекстового индексирования

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Устранение неполадок при неудачном завершении полнотекстового индексирования

При заполнении или обслуживании полнотекстового индекса полнотекстовый индексатор по изложенным ниже причинам может пропустить одну или несколько строк. Данные ошибки на уровне строк не препятствуют завершению заполнения. Индексатор просто пропускает эти строки, что означает, что их содержимое останется недосягаемым для запросов.

Ошибки индексирования могут возникать в следующих случаях.

  • Индексатор не смог найти или загрузить фильтр либо средство разбиения по словам. Эта ошибка может произойти, если строка таблицы содержит формат документа или содержимое на языке, который не зарегистрирован в экземпляре SQL Server. Данная ошибка также может возникать, если зарегистрированный компонент средства разбиения по словам или фильтрации не подписан либо не прошел проверку подписи при загрузке. Sql Azure и Управляемый экземпляр SQL Azure не поддерживают сторонние средства разбиения слов.

  • Возникает ошибка в компоненте, например в средстве разбиения по словам или фильтре, возвращаемая индексатору. Это может происходить, если индексируемый документ поврежден и фильтр не может извлечь из него текст. Это также может происходить, если компонент вследствие ограничения памяти, установленного в узле управляющей программы полнотекстовой фильтрации (fdhost.exe), не может обработать содержимое одной строки, превышающее определенный размер.

Подробное описание причин каждой ошибки на уровне строк регистрируется в журнале сканирования. Итоговое количество ошибок определяется после полного или добавочного заполнения.

Существуют и другие ошибки, которые могут повлиять на индексирование как таковое и препятствовать завершению заполнения:

  • Размер полнотекстового индекса превышает ограничение на количество строк, которые могут находиться в полнотекстовом каталоге.

  • Кластеризованный индекс или индекс полнотекстового ключа в индексируемой таблице изменяется, удаляется или перестраивается.

  • Сбой оборудования или повреждение жесткого диска, вызывающее повреждение полнотекстового каталога.

  • Файловая группа, содержащая таблицу, в которой выполняется полнотекстовое индексирование, становится вне сети или доступной только для чтения.

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

Неподписанные компоненты

По умолчанию полнотекстовый индексатор требует, чтобы загружаемые им фильтры и средства разбиения по словам были подписаны. Если они не подписаны, что иногда случается при установке пользовательских компонентов, необходимо настроить полнотекстовый индексатор так, чтобы он пропускал проверку подписей.

Внимание

Проверка подписи игнорирует экземпляр SQL Server менее безопасным. Рекомендуется подписывать все самостоятельно внедряемые компоненты либо контролировать наличие подписей у всех приобретаемых компонентов. Дополнительные сведения о компонентах подписывания см. в sp_fulltext_service (Transact-SQL).

Полнотекстовый индекс в несогласованном состоянии после восстановления журнала транзакций

При восстановлении журнала транзакций базы данных может появиться предупреждение о том, что полнотекстовый индекс находится в рассогласованном состоянии. Причина заключается в том, что этот полнотекстовый индекс в таблице был изменен после резервного копирования базы данных. Чтобы привести полнотекстовый индекс в согласованное состояние, необходимо выполнить в таблице полное заполнение (сканирование). Дополнительные сведения см. в разделе Заполнение полнотекстовых индексов.

См. также

ALTER FULLTEXT CATALOG (Transact-SQL)
Заполнение полнотекстовых индексов