Sdílet prostřednictvím


Řešení potíží s indexováním Full-Text

platí pro:SQL ServerAzure SQL Databaseazure SQL Managed Instance

Řešení potíží se selháním indexování Full-Text

Při plnění nebo údržbě fulltextového indexu může fulltextový indexer z níže uvedených důvodů nezvládnout indexovat jeden nebo více řádků. Tyto chyby na úrovni řádku nezabrání dokončení zpracování dat. Indexer tyto řádky přeskočí, což znamená, že se nemůžete dotazovat na obsah obsažený v těchto řádcích.

K selháním indexování může dojít v případech:

  • Indexer nemůže najít nebo načíst součást filtru nebo dělení slov. K tomuto selhání může dojít v případě, že řádek tabulky obsahuje formát dokumentu nebo obsah v jazyce, který nebyl registrován v instanci SQL Serveru. K tomuto selhání může dojít také v případě, že zaregistrovaný analyzátor slov nebo součást filtru nebyl podepsán nebo při načítání se nezdařilo ověření podpisu. Azure SQL a Azure SQL Managed Instance nepodporují dělení slov třetích stran.

  • Komponenta, jako je například dělení slov nebo filtr, selže a vrátí indexeru chybu. K tomuto selhání může dojít, pokud je dokument, který se indexuje, poškozený a filtr nemůže extrahovat text z dokumentu. K tomuto selhání může dojít také v případě, že komponenta nemůže zpracovat obsah jednoho řádku nad určitou velikostí, a to kvůli omezením paměti na hostiteli démona fulltextového filtru (fdhost.exe).

Pro každé selhání na úrovni řádků obsahuje protokol procházení podrobnosti o důvodu selhání. Počty chyb se shrnují na konci úplné nebo přírůstkové populace.

Existují další chyby, které mohou ovlivnit samotný proces indexování a zabránit úplnému naplnění:

  • Fulltextový index překračuje limit počtu řádků, které mohou být obsaženy v fulltextovém katalogu.

  • Clusterovaný index nebo fulltextový klíčový index v indexované tabulce se změní, odstraní nebo znovu sestaví.

  • Selhání hardwaru nebo poškození disku vede k poškození fulltextového katalogu.

  • Skupina souborů, která obsahuje tabulku, která je fulltextově indexovaná, přejde do režimu offline nebo je určená jen pro čtení.

Zkontrolujte protokol procházení na konci jakékoli významné operace vytváření celotextového indexu nebo pokud zjistíte, že operace nebyla dokončena.

Nepodepsané komponenty

Ve výchozím nastavení požaduje fulltextový indexer, aby filtry a oddělovače slov, které načítá, byly podepsány. Pokud nejsou podepsané, což je případ, kdy jsou nainstalovány vlastní komponenty, musíte nakonfigurovat fulltextový indexer tak, aby ignoroval ověření podpisu.

Důležitý

Při ignorování ověření podpisu je instance SQL Serveru méně zabezpečená. Doporučujeme podepsat všechny součásti, které implementujete, nebo zajistit, aby všechny vámi získané součásti byly podepsány. Informace o podepisování komponent najdete v tématu sp_fulltext_service (Transact-SQL).

Full-Text index v nekonzistentním stavu po obnovení transakčního protokolu

Při obnovování transakčního protokolu databáze se může zobrazit upozornění, že fulltextový index není v konzistentním stavu. Důvodem je, že se po zálohování databáze změnil fulltextový index tabulky. Chcete-li uvést fulltextový index do konzistentního stavu, musíte v tabulce spustit úplné procházení. Další informace najdete viz naplnění Full-Text indexu.

Viz také

ALTER FULLTEXT CATALOG (Transact-SQL)
naplnění indexů Full-Text