Udostępnij za pośrednictwem


Rozwiązywanie problemów z indeksowaniem Full-Text

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Rozwiązywanie problemów z błędami indeksowania Full-Text

Podczas wypełniania lub obsługi indeksu pełnotekstowego indeksator pełnotekstowy z powodów opisanych poniżej może nie indeksować co najmniej jednego wiersza. Te błędy na poziomie wiersza nie uniemożliwiają ukończenia populacji. Indeksator pomija te wiersze, co oznacza, że nie można wykonywać zapytań dotyczących zawartości zawartej w tych wierszach.

Błędy indeksowania mogą wystąpić, gdy:

  • Indeksator nie może odnaleźć ani załadować składnika filtru lub podziału wyrazów. Ten błąd może wystąpić, jeśli wiersz tabeli zawiera format dokumentu lub zawartość w języku, który nie został zarejestrowany w wystąpieniu programu SQL Server. Ten błąd może również wystąpić, jeśli zarejestrowany składnik dzielenia wyrazów lub składnik filtru nie został podpisany lub nie powiodła się weryfikacja podpisu podczas ładowania. Usługi Azure SQL i Azure SQL Managed Instance nie obsługują wyłączników wyrazów innych firm.

  • Składnik, taki jak podział wyrazów lub filtr, kończy się niepowodzeniem i zwraca błąd do indeksatora. Ten błąd może wystąpić, jeśli indeksowany dokument jest uszkodzony, a filtr nie może wyodrębnić tekstu z dokumentu. Ten błąd może również wystąpić, gdy składnik nie może obsłużyć zawartości pojedynczego wiersza powyżej określonego rozmiaru, ze względu na limity pamięci na hoście demona filtru pełnotekstowego (fdhost.exe).

Dla każdego błędu na poziomie wiersza dziennik przeszukiwania zawiera szczegółowe informacje o przyczynie błędu. Liczby błędów są sumowane na końcu pełnej lub przyrostowej populacji.

Istnieją inne błędy, które mogą mieć wpływ na sam proces indeksowania i uniemożliwić ukończenie procesu przez populację:

  • Indeks pełnotekstowy przekracza limit liczby wierszy, które mogą być zawarte w wykazie pełnotekstowym.

  • Indeks klastrowany lub indeks klucza pełnotekstowego w indeksowanej tabeli zostaje zmieniony, porzucony lub przebudowany.

  • Awaria sprzętu lub uszkodzenie dysku powoduje uszkodzenie wykazu pełnotekstowego.

  • Grupa plików zawierająca tabelę indeksowaną pełnotekstowo zostaje przełączona w tryb offline lub ustawiona jako tylko do odczytu.

Sprawdź dziennik przeszukiwania na końcu dowolnej znaczącej operacji populacji indeksu pełnotekstowego lub gdy okaże się, że populacja nie została ukończona.

Niepodpisane składniki

Domyślnie indeksator pełnotekstowy wymaga, aby filtry i dzielniki wyrazów były podpisane. Jeśli nie są podpisane, co jest czasami przy instalowaniu składników niestandardowych, należy skonfigurować indeksator pełnotekstowy tak, aby ignorował weryfikację podpisu.

Ważny

Ignorowanie weryfikacji podpisu sprawia, że wystąpienie programu SQL Server jest mniej bezpieczne. Zalecamy podpisanie składników, które wdrażasz, lub upewnienie się, że składniki, które nabywasz, są podpisane. Aby uzyskać informacje na temat składników podpisywania, zobacz sp_fulltext_service (Transact-SQL).

Full-Text indeks w stanie niespójnym po przywróceniu dziennika transakcji

Podczas przywracania dziennika transakcji bazy danych może zostać wyświetlone ostrzeżenie wskazujące, że indeks pełnotekstowy nie jest w stanie spójnym. Powodem jest to, że indeks pełnotekstowy w tabeli został zmodyfikowany po utworzeniu kopii zapasowej bazy danych. Aby indeks pełnotekstowy był spójny, należy uruchomić pełną populację (przeszukiwanie) w tabeli. Aby uzyskać więcej informacji, zobacz Wypełnianie indeksów Full-Text.

Zobacz też

ALTER FULLTEXT CATALOG (Transact-SQL)
Wypełnianie indeksów Full-Text