Problembehandlung bei der Volltextindizierung

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Fehler bei der Volltextindizierung beheben

Beim Befüllen oder Pflegen eines Volltextindex kann der Volltextindexer aus den in der folgende Liste beschriebenen Gründe eine oder mehrere Zeilen nicht indexieren. Diese Fehler auf Zeilenebene verhindern nicht, dass die Auffüllung beendet wird. Der Indexer überspringt diese Zeilen, was bedeutet, dass man nicht nach Inhalten in diesen Zeilen abfragen kann.

Indizierungsfehler können in folgenden Fällen auftreten:

  • Der Indexer kann keinen Filter oder kein Worttrennungsmodul finden oder laden. Dieser Fehler kann auftreten, wenn die Tabellenzeile ein Dokumentformat oder einen Inhalt in einer Sprache enthält, die nicht in der Instanz des SQL Server registriert ist. Dieser Fehler kann auch auftreten, wenn der registrierte Wortbrecher oder die Filterkomponente nicht signiert ist oder wenn die Signaturverifizierung beim Laden der Komponente fehlschlägt. Azure SQL und Azure SQL Managed Instance unterstützen keine Wortbrecher von Drittanbietern.

  • Eine Komponente, wie ein Wortbrecher oder Filter, scheitert und gibt einen Fehler an den Indexer zurück. Dieser Fehler kann auftreten, wenn das zu indexierende Dokument beschädigt ist und der Filter keinen Text aus dem Dokument extrahieren kann. Dieser Fehler kann auch auftreten, wenn eine Komponente den Inhalt einer einzelnen Zeile, die über einer bestimmten Größe liegt, nicht verarbeiten kann, aufgrund von Speicherbeschränkungen am Volltextfilter-Daemon-Host (fdhost.exe).

Für jeden Fehler auf Zeilenebene enthält das Crawlprotokoll Einzelheiten zum Grund des Fehlers. Die Fehleranzahl wird am Ende einer vollständigen oder inkrementellen Auffüllung zusammengefasst.

Andere Fehler können den Indexierungsprozess beeinträchtigen und verhindern, dass die Population Folgendes abschließt:

  • Der Volltextindex überschreitet die Grenze für die Anzahl der Zeilen, die ein Volltextkatalog enthalten darf.

  • Sie ändern, löschen oder erstellen einen Clustered-Index oder Volltextschlüsselindex für die indizierte Tabelle neu.

  • Ein Hardwarefehler oder eine Datenträgerbeschädigung führt zur Beschädigung des Volltextkatalogs.

  • Eine Dateigruppe, die die Tabelle enthält, die im Volltext indexiert wird, geht offline oder wird nur lesbar gemacht.

Untersuchen Sie das Durchforstungsprotokoll nach Abschluss eines umfangreichen Volltext-Indexauffüllungsvorgangs oder im Fall einer nicht beendeten Auffüllung.

Unsignierte Komponenten

Standardmäßig müssen vom Volltextindexer geladene Filter und Wörtertrennungen signiert sein. Wenn sie nicht signiert sind, was beim Installieren benutzerdefinierter Komponenten passieren kann, musst du den Volltextindexer so konfigurieren, dass die Signaturverifizierung ignoriert wird.

Wichtig

Das Ignorieren der Signaturüberprüfung macht die SQL Server-Instanz weniger sicher. Du solltest alle Komponenten, die du implementierst, unterschreiben oder sicherstellen, dass alle Komponenten, die du erwirbst, unterschrieben sind. Informationen zu Zeichenkomponenten finden Sie unter sp_fulltext_service.

Volltextindex im inkonsistenten Zustand nach wiederhergestelltem Transaktionsprotokoll

Beim Wiederherstellen des Transaktionsprotokolls einer Datenbank könnte eine Warnung angezeigt werden, dass der Volltextindex nicht in einem konsistenten Zustand ist. Diese Warnung erscheint, weil der Volltextindex in einer Tabelle nach der Sicherung der Datenbank geändert wurde. Sie müssen eine vollständige Auffüllung (Durchforstung) für die Tabelle ausführen, um den Volltextindex in einen konsistenten Status zu versetzen. Weitere Informationen finden Sie unter Auffüllen von Volltextindizes.