Freigeben über


Fehler 0x80040e97 tritt auf, wenn Sie die integrierte Volltextsuche in SQL Server verwenden.

Dieser Artikel hilft Ihnen, das Problem zu beheben, das auftritt, wenn Sie große Dokumente mithilfe der integrierten Volltextsuche in SQL Server indizieren.

Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 2270849

Problembeschreibung

Wenn Sie große oder komplexe Dokumente mithilfe der integrierten Volltextsuche in Microsoft SQL Server indizieren, erhalten Sie möglicherweise Timeoutfehler, die der folgenden Meldung ähneln:

2010-06-07 15:02:44.64 spid10s Fehler '0x80040e97' während der Volltextindexgesamtheit für die Tabellen- oder indizierte Ansicht '[db1]. [dbo]. [Images]' (Tabellen- oder indizierte Ansichts-ID '622625261', Datenbank-ID '171'), Volltextschlüsselwert '2375057'. Eine Neuindizierung wird versucht.

Darüber hinaus kann SQL Server den FDHOST.exe Prozess neu starten.

Ursache

Dieses Problem tritt auf, wenn es länger als 60 Sekunden dauert, bis der FDHOST.exe Prozess die XML-Daten lesen und verarbeiten kann.

Lösung

Um dieses Problem zu beheben, erhöhen Sie den Timeoutwert für die Volltextindizierung. Rufen Sie dazu die sp_fulltext_service gespeicherte Prozedur mit dem 'ft_timeout' Parameter auf. Der folgende Code erhöht z. B. das Timeout für die Volltextindizierung für jedes Dokument auf 20 Minuten:

EXEC sp_fulltext_service 'ft_timeout', 1200000

Notiz

Der zweite Parameter ist ein Timeout in Vollindizierung in Millisekunden.The second parameter is full-indexing time-out in Millisekunden.

Wichtig

Starten Sie Ihren SQL Server neu, damit die neue Einstellung wirksam wird.

Weitere Informationen

Wenn SQL Server Datentypen wie varbinary, varbinary (max), image oder xml indiziert, sendet SQL Server Daten an den Filterdaemonprozess (FDHOST.exe). Sql Server wartet zu einem beliebigen Zeitpunkt während des Indizierungsprozesses nicht mehr als 60 Sekunden, bis der FDHOST.exe Prozess reagiert.

Bei umfangreichen XML-Dokumenten liest der XML-Filter, der vom FDHOST.exe-Prozess gehostet wird, in allen Daten aus SQL Server und speichert die Daten in einer temporären Datei. Anschließend verarbeitet FDHOST.exe den XML-Inhalt zum Filtern und Wortbruch. Wenn dieser Vorgang mehr als 60 Sekunden dauert, beendet SQL Server den Batch und ruft den Vorgang mithilfe einer kleineren Batchgröße erneut ab. Wenn ein XML-Dokument groß ist und der FDHOST.exe Prozess mehr als 60 Sekunden dauert, um die Wörter zu filtern und zu unterbrechen, können Sie fehler auftreten, der im Abschnitt "Symptome" erwähnt wird.

Notiz

Das Problem kann bei jedem iFilter auftreten, der Daten in eine temporäre Datei schreibt.

Fehler 0x80040e97 können auch aus anderen Gründen angezeigt werden. Beispielsweise wird möglicherweise derselbe Fehlercode angezeigt, wenn SQL Server Probleme beim Laden eines iFilters hat. Das Erhöhen des Timeoutwerts in diesen Fällen kann den Fehler maskieren und eine effektive Problembehandlung verhindern. Daher wird empfohlen, die Größe des Dokuments zu überprüfen und zu bestätigen, dass die Größe des fehlerhaften Dokuments außergewöhnlich groß ist, bevor Sie den Timeoutwert erhöhen.