Symptoms
Assume that you try to load a thesaurus file in any language version of Microsoft SQL Server 2008 R2 that uses Double Byte Character Set (DBCS) collation. The thesaurus file contains synonyms that have a "0x20" suffix. In this situation, the thesaurus file does not load, and you receive the following error message:
Msg 50000, Level 16, State 1, Procedure sp_fulltext_rethrow_error, Line 36
Error 30049, Level 16, State 1, Procedure sp_fulltext_thesaurus_update, Line 61, Message: Fulltext thesaurus internal error (HRESULT = '0x8007054e')
Cause
This issue occurs because the LEN function returns incorrect synonyms that have the "0x20" suffix. The "0x20" suffix is interpreted as an ASCII space character. Therefore, the LEN function returns one less value of the data length.
Resolution
Cumulative update information
Cumulative update 4 for SQL Server 2008 R2 Service Pack 2 (SP2)
The fix for this issue was first released in Cumulative Update 4. For more information about how to obtain this cumulative update package for SQL Server 2008 R2 Service Pack 2, click the following article number to view the article in the Microsoft Knowledge Base:
2777358 Cumulative update package 4 for SQL Server 2008 R2 Service Pack 2Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 Service Pack 2 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2730301 The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 Service Pack 2 was released Note After you apply this hotfix, the DATALENGTH function will be used instead of the LEN function.
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.