FIX: A Full-Text Population Fails After You Apply SQL Server 2000 Service Pack 3 (814035)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions) SP3

BUG #: 364037 (SQL Server 8.0)

SYMPTOMS

After you upgrade to SQL Server 2000 Service Pack 3 (SP3), the population of a full-text catalog might fail, and you receive an error message.

The population finishes quickly, without an error, if it is initialized by using Query Analyzer. However, the following command returns 0, indicating that no items have successfully been indexed:
SELECT FULLTEXTCATALOGPROPERTY('<catalog_name>',  'ItemCount') 

Additionally, the following warning is reported in the application event log:

Event Type: Warning
Event Source: Microsoft Search
Event Category: Gatherer
Event ID: 3036
Description:
The crawl seed <MSSQL75://SQLServer/xxxxxx> in project <SQLSERVER SQLxxxxxxxxxx> cannot be accessed. Error: 80004002 - No such interface supported.

CAUSE

This problem only shows up on servers that have had Microsoft SQL Server 7.0 and its full-text search component installed. SQL Server 7.0 full-text search uses a different registration mechanism than SQL Server 2000 full-text search for loading word breakers (used to tokenize text at index and at query time).

As such, the following registry key exists (for SQL Server 7.0 full-text search) that corresponds to the neutral word breaker:

HKLM\Software\Microsoft\Search\1.0\Language\Neutral

Additionally, the following key exists (for SQL Server 2000 full-text search) that corresponds to the neutral word breaker:

HKLM\Software\Microsoft\Contentindexcommon\LanguageResources\Default\Language Neutral

The first registry key (for SQL Server 7.0) points to the Query.dll file as the neutral word breaker. In SQL Server 7.0 (all versions), and in SQL Server 2000 (all versions up to Service Pack 2), the neutral word breaker resides in the Query.dll file.

In SQL Server 2000 SP3, the neutral word breaker moves to a different module, Tquery.dll. The second registry key (the one shown for SQL Server 2000), is updated by Microsoft Search (MSSearch) setup, to indicate the correct location of the neutral word breaker in SQL Server 2000 SP3. However, the way that MSSearch loads word breakers is that it first honors the SQL Server 7.0 registration mechanism (in this case, using the old location for the neutral word breaker), followed by the SQL Server 2000 registration mechanism.

As such, when a repopulation of full-text catalogs begin in this scenario, MSSearch tries to load the neutral word breaker by using the SQL Server 7.0 location; therefore, the repopulation cannot complete.

RESOLUTION

Service pack information

To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 How to obtain the latest SQL Server 2000 service pack

Hotfix information

The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
   Date         Time   Version       Size           File name
   --------------------------------------------------------------
   20-Feb-2003  20:38  9.107.8320.3  200,704 bytes  Searchstp.exe  
			
Note: Because of file dependencies, the most recent hotfix or feature that contains the files may also contain additional files.


WORKAROUND

To work around this behavior, follow these steps:
  1. Verify that the affected system exhibits the symptoms described earlier in this article. If you are not sure, contact Microsoft Product Support Services.
  2. Verify that the registry keys specified earlier in this article do exist.
  3. Back up the system registry.
  4. Remove the following registry key:

    HKLM\Software\Microsoft\Search\1.0\Language\Neutral
  5. Restart Microsoft Search, and then restart any populations that failed. This might include catalog populations for other instances of SQL Server, and any other products that use Microsoft Search.
IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.
If full-text search is a clustered resource, the following additional considerations apply:
  • You must remove the registry key mentioned earlier in this article from all the cluster nodes. Before you stop the Microsoft Search service, you must take the SQL Server full-text resource offline in Cluster Administrator.
  • After you start the Microsoft Search service, bring the SQL Server full-text resource online in Cluster Administrator.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.This problem was first corrected in Microsoft SQL Server 2000 Service Pack 4.

Modification Type:MinorLast Reviewed:9/27/2005
Keywords:kbHotfixServer kbQFE kbQFE kbSQLServ2000preSP4fix kbfix kbbug KB814035 kbAudDeveloper