Microsoft 會發佈 Microsoft SQL Server 2008 修正程式作為一個可下載的檔案。 由於修正程式是累積式,因此每個新版本都包含所有 Hotfix 和先前 SQL Server 2008 修正程式版本中包含的所有安全性修正程式。Microsoft 會發佈 Microsoft SQL Server 2008 或 SQL Server 2008 R2 修正程式作為一個可下載的檔案。 由於修正程式是累積的,因此每個新版本都包含先前的 SQL Server 2008 或 SQL Server 2008 R2 修正程式版本中包含的所有 Hotfix 和所有安全性修正程式。
症狀
請考慮以下案例:
您有一個全文檢索搜尋查詢,該查詢在 Microsoft SQL Server 2008 或 SQL Server 2008 R2 的條件中使用 CONTAINSTABLE 函數以及許多 OR 和 AND 述詞。 例如,您有下列 50 個 AND 運算: Declare @Keywords varchar (4000) = NULL
set @Keywords= N' ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (
(“TOKarchitect” 或 “architectural”)
和 (“TOKengineer”或“engineer”) )
和 “gineer”) 和 (“TOKmechanical” 或 “mechanical”) )
和 (“TOKengineer”或“Engineering”) )
及 (「TOKelectronic」或「Electronics」) ) 及 (「TOKengineer」或「Engineer」) ) 及 (「TOKelectronic」或「Electronics」) ) 及 (「TOKengineer」或「Engineering」) ) 及 (「TOKelectric」或「Electrical」) ) 及 (「TOKengineer」或「Engineer」) ) 及 (「TOKelectric」或「Electrical」) ) 及 (「TOKengineer」或「Engineering」) ) 及 (「TOKcontrol」或「Control」) ) 及 (「TOKsystem」或「Systems」) ) 及 (「TOKengineer」或「Engineer」) ) 和 (“TOKproject” 或 “Project”) ) 和 (“TOKmanager” 或 “Manager”) ) 和 (“TOKengineer” 或 “Engineering”) ) 和 “Scheme”) 和 (“TOKmanufacture” 或 “Manufacturing”) ) 和 (“TOKengineer” 或 “Engineer”) ) 和 (“TOKmetallurgist”或“Metallurgy”) ) 和 (“TOKmetallurgist”或“Metallurgist”) ) 和 (“TOKprocess”或“Process”) ) 和 (“TOKTechnology”或“Technology”) ) 和 (“TOKproduct”或“Production”) ) 及 (“TOKengineer” 或 “Engineer”) ) 和 (“TOKQuality” 或 “Quality”) ) 和 (“TOKengineer” 或 “Engineer”) ) 和 (“TOKQuality” 或 “Quality”) ) 和 (“TOKcontrol” 或 “Control”) ) 和 (“TOKengineer” 」或「工程師」) ) 及「機電一體化」) 及 (「TOKcivil」或「Civil」) ) 及 (「TOKengineer」或「工程師」) ) (「TOKcivil」或「Civil」) ) (「TOKengineer」或「Engineering」) ) 及 (」TOKdesign」或「設計」) ) (「TOKengineer」或「工程」) ) 及 (「TOKdesign」或「設計」) ) (「TOKengineer」或「工程師」) ) 及 (「TOKgraduate」或「Graduate」) ) 及 (「TOKengineer」或「Engineer」) ) 及 (「TOKgraduate」或「Graduate」) ) (「TOKengineer」或「engineering」) ) 與 (「TOKengineer」或「Engineering」) ) 及 (「TOKgraduate」或「Graduate」) ) ) ANDNOT ( ) (「TOKRecruitment」或「Recruitment」) ) (「TOKconsultant」或「consultant」) ) 及 (「TOKtrainee」或「Trainee」) ) 及 (「TOKRecruitment」或「recruitment」) )select * from CONTAINSTABLE (test_table, *, @keywords, 1000)
您執行查詢。
在此案例中,可能會發生「非讓路排程器」錯誤。 此外,會在 SQL Server 2008 或 SQL Server 2008 R2 應用程式記錄資料夾中產生迷你傾印檔案,並在 SQL Server 錯誤記錄檔中記錄下列錯誤:
注意
使用「dbghelp.dll」版本「4.0.5」的時間戳>記伺服器<
<時間戳記> 伺服器 ***無法取得 spid 0 的執行緒內容
<時間戳記> 伺服器 *
*******************************************************************************
<時間戳記> 伺服器 *
<時間戳記> 伺服器 * 開始堆疊傾印:
<時間戳記> 伺服器 * <Time> spid <SPID>
<時間戳記> 伺服器 *
<時間戳記> 伺服器 * 非屈服排程器
<時間戳記> 伺服器 *
<時間戳記> 伺服器 *
*******************************************************************************
傾印的時間戳>記伺服器堆疊簽章已0x000000000000030D<
<時間戳記> 伺服器外部傾印程序傳回碼 0x20000001。 外部傾印程序未傳回任何錯誤。
<時間戳記> 伺服器處理序 0:0:0 (0xf94) 背景工作角色0x00000000817481A0在排程器 0 上似乎未屈服。 對話建立時間:12925321224306。 大約使用的執行緒 CPU:核心 62 毫秒,使用者 75187 毫秒。 處理序利用率 98%。 系統閒置 0%。 間隔:76403 ms。
<時間戳記> 伺服器處理序 0:0:0 (0xf94) 背景工作角色0x00000000817481A0在排程器 0 上似乎未屈服。 對話建立時間:12925321224306。 大約使用執行緒 CPU:核心 125 毫秒,使用者 145250 毫秒。 處理序利用率 98%。 系統閒置 0%。 間隔:148417 毫秒
<時間戳記> 伺服器處理序 0:0:0 (0xf94) 背景工作角色0x00000000817481A0在排程器 0 上似乎未屈服。 對話建立時間:12925321224306。 大約使用的執行緒 CPU:核心 171 ms,使用者 205515 ms。 處理序利用率 98%。 系統閒置 0%。 間隔:209729 ms。
<時間戳記> 伺服器處理序 0:0:0 (0xf94) 背景工作角色0x00000000817481A0在排程器 0 上似乎未屈服。 對話建立時間:12925321224306。 大約使用執行緒 CPU:核心 218 毫秒,使用者 266343 毫秒。 處理序利用率 98%。 系統閒置 0%。 間隔:271588 毫秒。
<時間戳記> 伺服器處理序 0:0:0 (0xf94) 背景工作角色0x00000000817481A0在排程器 0 上似乎未屈服。 對話建立時間:12925321224306。 大約使用執行緒 CPU:核心 234 毫秒,使用者 325156 毫秒。 處理序利用率 97%。 系統閒置 0%。 間隔:333671 ms。
<時間戳記> 伺服器處理序 0:0:0 (0xf94) 背景工作角色0x00000000817481A0在排程器 0 上似乎未屈服。 對話建立時間:12925321224306。 大約使用的執行緒 CPU:核心 296 毫秒,使用者 386000 毫秒。 處理序利用率 97%。 系統閒置 0%。 間隔:396370 ms。
原因
發生此問題的原因是 SQL Server 2008 或 SQL Server 2008 R2 未正確釋出排程器。
解決方式
累積更新資訊
SQL Server 2008 R2
此問題的修正程式最初在累積更新 5 中發行。 如需有關如何取得 SQL Server 2008 R2 的累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
2438347 SQL Server 2008 R2 的累積更新套件 5 注意:由於組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和先前 SQL Server 2008 R2 修正程式版本中包含的所有安全性修正程式。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
981356 在 SQL Server 2008 R2 發行之後所發行的 SQL Server 2008 R2 組建 (機器翻譯)
SQL Server 2008 Service Pack 1
此問題的修正程式最初在 SQL Server 2008 Service Pack 1 的累積更新 10 中發行。 如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2279604 累積更新套件 10 for SQL Server 2008 Service Pack 1 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,這些都包含在上一個 SQL Server 2008 修正程式版本中。 Microsoft 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
970365 發行 SQL Server 2008 Service Pack 1 之後所發行的 SQL Server 2008 組建Microsoft SQL Server會為特定 SQL Server Service Pack 建立 Hotfix。 您必須將 SQL Server 2008 Service Pack 1 Hotfix 套用至 SQL Server 2008 Service Pack 1 的安裝。 預設情況下,SQL Server Service Pack 中提供的任何 Hotfix 都會包含在下一個 SQL Server Service Pack 中。
SQL Server 2008 Service Pack 2
此問題的修正程式最初在 SQL Server 2008 Service Pack 2 的累積更新 1 中發行。 如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2289254 SQL Server 2008 Service Pack 2 的累積更新 1 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,這些都包含在上一個 SQL Server 2008 修正程式版本中。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2402659 發行 SQL Server 2008 Service Pack 2 之後所發行的 SQL Server 2008 組建
因應措施
若要解決此問題,請使用全文檢索搜尋同義字來定義述詞的同義字。
若要執行這項操作,請使用 FORMSOF 函數搭配 THESAURUS 值,然後將所有關鍵字新增為參數。
針對「徵狀」一節中所述的範例,以下是範例查詢的更新版本: 從 test_table 選取 * where Contains (*,'FORMSOF (THESAURUS,“architectural”,“engineer”,“Mechanical”,“Engineering”,“Electronics”,“Engineer”,“Electrical”,“Control”,“Systems”,“Project”,“Manager”,“Manufacturing”,“Metallurgy”,“Metallurgist”,“Process”,“Design”,“Technology”,“Production”,“Quality”,“Control”,“Civil”,“Graduate”,“Recruitment”,“consultant”,”實習生“,”recruitment“) ')
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
如需有關 CONTAINSTABLE 函數的詳細資訊,請造訪下列 Microsoft 開發人員網路 (MSDN) 網站:
關於 CONTAINSTABLE 函數的一般資訊如需有關 SQL Server 累加式服務模型的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
935897 來自 SQL Server 團隊之可傳遞解決回報問題的 Hotfix 的累加服務模型 (機器翻譯)
如需有關 SQL Server 更新命名架構的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
822499 Microsoft SQL Server 軟體更新套件的新命名架構如需有關軟體更新術語的詳細資訊,請按一下下面的文章編號,檢視「Microsoft知識庫」中的文章:
824684 描述Microsoft軟體更新所使用的標準術語說明