徵狀
假設您嘗試在使用雙位元組字元集(DBCS)排序規則的任何語言版本的 Microsoft SQL Server 2008 R2 中載入同義字庫檔案。 同義字庫檔案包含具有 "0x20" 尾碼的同義字。 在這種情況下,不會載入同義字庫檔案,而且您會收到下列錯誤訊息:
Msg 50000、Level 16、State 1、程式 sp_fulltext_rethrow_error、行 36Error 30049、Level 16、State 1、程式 sp_fulltext_thesaurus_update、行61、訊息:全文辭典內部錯誤(HRESULT = ' 0x8007054e」)
原因
之所以會出現這個問題,是因為 LEN 函數會傳回不正確的同義字,且具有 "0x20" 尾碼。 "0x20" 尾碼轉譯為 ASCII 空白字元。 因此, LEN 函數會傳回一個較小的資料長度值。
解決方案
累積更新資訊
累積更新4 SQL Server 2008 R2 Service Pack 2 (SP2)
此問題的修正程式是以累積更新4第一次發行。如需有關如何取得適用于 SQL Server 2008 R2 Service Pack 2 之累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2777358 SQL Server 2008 R2 Service Pack 2 的累積更新套件4注意: 因為組建是累加的,所以每個新的修正程式版本都包含舊版 SQL Server 2008 R2 Service Pack 2 (修正版本)所包含的所有修復程式及所有安全修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2730301 在發行 SQL Server 2008 R2 Service Pack 2 之後發行的 SQL Server 2008 R2 組建記事 套用此熱修復程式後,將會使用 DATALENGTH 函數,而不是 LEN 函數。
狀態
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。