Error 0x80040e97 occurs when you use integrated full-text search in SQL Server

Applies to: SQL Server 2008 DeveloperSQL Server 2008 EnterpriseSQL Server 2008 Express

Symptoms


When you index large or complex documents by using integrated full-text search in Microsoft SQL Server 2008, Microsoft SQL Server 2008 R2, or Microsoft SQL Server 2012, you may receive time-out errors that resemble the following:
2010-06-07 15:02:44.64 spid10s Error '0x80040e97' occurred during full-text index population for table or indexed view '[db1].[dbo].[Images]' (table or indexed view ID '622625261', database ID '171'), full-text key value '2375057'. Attempt will be made to reindex it.

Additionally, SQL Server may restart the FDHOST.exe process. When this issue occurs, an error message that resembles the following is displayed in the SQL Server error log:


Cause


This issue occurs if it takes longer than 60 seconds for the FDHOST.exe process to read and process the XML data.

Resolution


To resolve this problem, increase the full-text indexing time-out value. To do this, call the sp_fulltext_service stored procedure that has the 'ft_timeout' parameter. For example, the following increases the full-text indexing time-out to 20 minutes for any document:
Exec sp_fulltext_service ‘ft_timeout’, 1200000
Note The second parameter is full-indexing time-out in milliseconds.

Important Restart your SQL Server for the new setting to take effect.

More Information


When SQL Server indexes data types such as varbinary, varbinary(max), image, or xml, SQL Server sends data to the filter daemon process (FDHOST.exe). At any point during the indexing process, SQL Server will not wait for more than 60 seconds for the FDHOST.exe process to respond.

For large XML documents, the XML Filter that is hosted by the FDHOST.exe process reads in all the data from SQL Server and stores the data in a temporary file. Then FDHOST.exe processes the XML content for filtering and word-breaking. If this process takes more than 60 seconds, SQL Server stops the batch and retries the operation by using a smaller batch size. If an XML document is large, and the FDHOST.exe process takes more than 60 seconds to filter and break the words, then you can experience error that is mentioned in the "Symptoms" section.

Note The issue can occur with any iFilter that writes data to a temporary file.

Error 0x80040e97 can also be raised for other reasons. For example, you may see the same error code when SQL Server experiences issues loading an iFilter. Increasing the time-out value in these cases may mask the error and prevent effective troubleshooting. Therefore, we recommend that you verify the size of the document and confirm that the size of the failing document is exceptionally large before you increase the time-out value.