Teljes szöveges indexelés hibaelhárítása

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Teljes szöveges indexelési hibák elhárítása

Teljes szöveges indexet töltve vagy fenntartva a teljes szöveges indexelő előfordulhat, hogy nem indexelhet egy vagy több sort az alábbi listában leírt okok miatt. Ezek a sorszintű hibák nem akadályozzák meg a populáció kiteljesülését. Az indexelő kihagyja ezeket a sorokat, ami azt jelenti, hogy nem lehet lekérdezést kérni ezekben a sorokban található tartalmakra.

Indexelési hibák akkor fordulhatnak elő, ha:

  • Az indexelő nem találja vagy nem tudja betölteni a szűrő- vagy szóelválasztó összetevőt. Ez a hiba akkor fordulhat elő, ha a tábla sor olyan dokumentumformátumot vagy tartalmat tartalmaz, amely nem regisztrált az SQL Server példányában. Ez a hiba akkor is előfordulhat, ha a regisztrált szóelválasztó vagy szűrőkomponens nincs digitálisan aláírva, vagy ha az aláírás ellenőrzése meghiúsul a komponens betöltésekor. Az Azure SQL és az Azure SQL Managed Instance nem támogatja a külső gyártótól származó szótöredékre bontókat.

  • Egy komponens, például egy szóelválasztó vagy szűrő, meghibásodik, és hibát jelez az indexelőnek. Ez a hiba akkor fordulhat elő, ha az indexelt dokumentum sérült, és a szűrő nem tud szöveget kinyerni a dokumentumból. Ez a hiba akkor is előfordulhat, ha egy komponens nem tudja kezelni egyetlen sor tartalmát, amely egy bizonyos méretnél magasabb, a teljes szöveges szűrő démonhosztom memóriakorlátai miatt (fdhost.exe).

Minden sorszintű hiba esetén a bejárási napló a hiba okának részleteit tartalmazza. A hibaszámokat egy teljes vagy növekményes sokaság végén összegzi a rendszer.

Más hibák is hatással lehetnek az indexelési folyamatra, és megakadályozhatják a feltöltés befejezését:

  • A teljes szöveges index meghaladja az egy teljes szöveges katalógusban tárolható sorok számára megengedett korlátot.

  • Módosítod, eltávolítod vagy újraépíthetsz egy klaszterelt indexet vagy teljes szöveges kulcsindexet az indexelt táblán.

  • A hardverhiba vagy a lemez sérülése a teljes szöveges katalógus sérülését eredményezi.

  • Az a fájlcsoport, amely tartalmazza a teljes szöveges indexelést tartalmazó táblát, offline vagy csak olvashatóvá válik.

Vizsgáld meg a crawl logot bármely jelentős teljes szöveges indexpopulációs művelet végén, vagy amikor azt tapasztalod, hogy egy populáció nem fejeződött be.

Aláíratlan összetevők

Alapértelmezés szerint a teljes szöveges indexelőnek alá kell írnia azokat a szűrőket és szóhatárolókat, amelyeket betölt. Ha nincsenek aláírva, ami előfordulhat egyedi komponensek telepítésekor, akkor a teljes szöveges indexelőt úgy kell konfigurálnod, hogy figyelmen kívül hagyja az aláírás-ellenőrzést.

Fontos

Az aláírás-ellenőrzés figyelmen kívül hagyásával az SQL Server példánya kevésbé biztonságos. Alá kell írnod az általad megvalósított elemeket, vagy gondoskodnod kell róla, hogy a beszerzett alkatrészek aláírva legyenek. Az aláírási komponensekről információért lásd sp_fulltext_service.

A teljes szövegű index inkonzisztens állapotban van a tranzakciónapló visszaállítása után

Amikor visszaállítod egy adatbázis tranzakciónaplóját, előfordulhat, hogy figyelmeztetést kaphatsz, hogy a teljes szöveges index nincs konzisztens állapotban. Ez a figyelmeztetés azért jelenik meg, mert a táblán lévő teljes szöveges indexet az adatbázis mentése után módosították. A teljes szöveges index konzisztens állapotba hozásához teljes feltöltést (indexelést) kell futtatnia a táblán. További információért lásd: Full-Text indexek feltöltése.