Microsoft 會以一個可下載的檔案形式發佈 Microsoft SQL Server 2005、Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 修正程式。 由於這些修正程式是累積的,因此每個新版本都包含先前的 Microsoft SQL Server 2005、Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 修正程式版本中包含的所有 Hotfix 和所有安全性修正程式。
症狀
在 Microsoft SQL Server 2005、Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 中,您有一個查詢包含大型 IN 子句。 例如,IN 子句包含數千個值。 當您執行此查詢時,可能會發生不屈服排程器錯誤。 此外,會在 SQL Server 2005、SQL Server 2008 或 SQL Server 2008 R2 記錄資料夾中產生迷你傾印檔案。 有時您可能也會在 SQL Server 錯誤記錄檔中看到下列錯誤訊息:
注意
錯誤:8623,嚴重性:16,狀態:1。
查詢處理器已用盡內部資源,無法產生查詢計劃。 這是罕見的事件,只有在極其複雜的查詢或參考大量資料表或磁碟分割的查詢時才會發生。 請簡化查詢。 如果您認為您誤收到此訊息,請連絡客戶支援服務以取得詳細資訊。
注意:如果錯誤 8623 與非讓路排程器錯誤同時發生,則查詢執行會失敗。
原因
發生此問題的原因是 SQL Server 程式碼庫中的問題。 在執行包含大型 IN 子句的查詢期間,SQL Server 程式碼基底不會適當地產生排程器。 此行為會導致在相同排程器上執行的其他背景工作執行緒的 CPU 飢餓,並導致非屈服排程器錯誤。
解決方式
累積更新資訊
SQL Server 2005
此問題的修正程式最初在累積更新 10 中發行。 如需有關如何取得此 SQL Server 2005 累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
983329 累積更新套件 10 for SQL Server 2005 Service Pack 3 注意 由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和先前的 2005 SQL Server修正程式版本中包含的所有安全性修正程式。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
960598 發行 SQL Server 2005 Service Pack 3 之後所發行的 SQL Server 2005 組建
SQL Server 2008 Service Pack 1
此問題的修正程式最初在 SQL Server 2008 Service Pack 1 的累積更新 9 中發行。 如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2083921 SQL Server 2008 Service Pack 1 的累積更新 9 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含所有 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 組建
SQL Server 2008 R2
此問題的修正程式最初在累積更新 3 中發行。 如需有關如何取得 SQL Server 2008 R2 的累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
2261464 SQL Server 2008 R2 的累積更新套件 3 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,這些都包含在先前的 SQL Server 2008 R2 修正程式版本中。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
981356 在 SQL Server 2008 R2 發行之後所發行的 SQL Server 2008 R2 組建 (機器翻譯)
Hotfix 資訊
Microsoft 提供支援的 Hotfix。 不過,此 Hotfix 僅用來修正本文所述的問題。 僅將此 Hotfix 套用至發生此特定問題的系統。
如果 Hotfix 可供下載,本知識庫文章頂端有「可供 Hotfix 下載」章節。 如果未顯示此區段,請提交要求給 Microsoft 客戶服務與支援以取得 Hotfix。
注意: 如果發生其他問題或需要進行任何疑難排解,您可能需要建立另外一個服務要求。 一般的支援費用將適用於不符合此特定 Hotfix 資格的其他支援問題和問題。 如需 Microsoft 客戶服務及支援服務的完整電話號碼清單,或建立個別的服務要求,請造訪下列 Microsoft 網站:
/contactus/?ws=support 注意:「Hotfix 下載可用」表單顯示 Hotfix 可用的語言。 如果您找不到您的語言,是因為該語言沒有 Hotfix。
注意 安裝此 Hotfix 之後,如果 IN 子句夠大,錯誤 8623 仍會因為資源耗盡而發生。 如果安裝此 Hotfix 之後,錯誤 8623 仍然發生,請使用下列其中一種方法:
方法 1
減少 IN 子句中值的數目。
方法 2
將IN子句中的值輸入到暫存資料表或資料表變數中,然後查詢連接原始資料表和暫存資料表 (或資料表變數) 的結果集。
先決條件
您必須安裝 SQL Server 2005 Service Pack 3 (SP3) 、SQL Server 2008 或 SQL Server 2008 R2,才能套用此 Hotfix。
重新啟動需求
如果套用此 Hotfix 時其中一個 SQL Server 服務正在執行,則必須在套用此 Hotfix 之後重新啟動電腦。 如果您不想重新啟動電腦,請先停止所有的 SQL Server 服務,然後再套用此 Hotfix。
Hotfix 取代資訊
此 Hotfix 不會取代任何其他 Hotfix。
檔案詳細資訊
此 Hotfix 的英文版具有下表列出 (或更新檔案屬性) 的檔案屬性。 這些檔案的日期與時間是以國際標準時間 (UTC) 表示。 當您檢視檔案資訊時,它會轉換成當地時間。 若要查看 UTC 與當地時間的差異,請使用 [控制台] 中 [日期和時間] 項目的 [時區] 索引標籤。
x86 版本的 SQL Server 2005
| 檔案名稱 | 檔案版本 | 檔案大小 | 日期 | 時間 | 雜湊 |
|---|---|---|---|---|---|
| Batchparser90.dll | 2005.90.4035.0 | 125,280 | 24-Nov-2008 | 16:14 | |
| Dbghelp.dll | 6.6.7.5 | 1,037,152 | 24-Nov-2008 | 14:51 | MD5: 288A3127F85C9416E9A3FD07EDAEDCBD SHA1: FC10D9E27E5C6987B5CB2C5166FBF83252AC41FC |
| Dumpdatastore.dll | 2005.90.4035.0 | 1,157,472 | 24-Nov-2008 | 14:56 | MD5: 9B010B4FF41DA4AFAFB94C8456D64059 SHA1: 58783B12982DFACF3D9AF4A1CAFE58A95771CE3D |
| Msvcp80.dll | 8.0.50727.42 | 548,864 | 2005 年 10 月 13 日 | 16:26 | MD5: 2BC650257FB0867ABD54FD460EC2BAFC SHA1: EC063526AA14BCADEEFFA6D859B39A80680015B7 |
| Msvcr80.dll | 8.0.50727.42 | 626,688 | 2005 年 10 月 13 日 | 16:26 | MD5: 16D7DDF3B659F7CF1CB9F4DCFF4219F0 SHA1: A61454131940799F01C26943F1594EE6E7409D11 |
| Sqlcmd.exe | 2005.90.4035.0 | 141,664 | 24-Nov-2008 | 15:31 | MD5: 2E1B8DF1802612BDA20378B612D46155 SHA1: B45271F4CA358805D3515ADB9DA8D302FA40D8D0 |
| Sqlcmd.rll | 2005.90.4035.0 | 24,928 | 24-Nov-2008 | 15:14 | 不適用 |
| Sqldiscoveryapi.dll | 2005.90.4035.0 | 530,784 | 24-Nov-2008 | 15:31 | MD5: 8AC29B7DF7AA97CF12E15BF4D026A96D SHA1: 7DF7C8A0AFFC7EEE19CCA8C321494395DA06CD5C |
| Sqlsetupvista.dll | 2005.90.4035.0 | 227,680 | 24-Nov-2008 | 15:31 | MD5: FF9AF51AD873841628C0F5554BD7EB8E SHA1: B538EFC458163E6D04056B1F191B13EF891BA50E |
| Finalsql2005information.rtf | 不適用 | 844 | 2010 年 1 月 14 日 | 14:37 | 不適用 |
| Sqlhotfix.chm | 不適用 | 116,106 | 2010 年 1 月 14 日 | 14:37 | 不適用 |
| Sqlse.rll | 1.4.1581.0 | 60,264 | 2010 年 4 月 7 日 | 16:40 | 不適用 |
| Sqlrun_as.msp | 不適用 | 27,555,328 | 2010 年 4 月 8 日 | 01:26 | 不適用 |
| Sqlrun_dts.msp | 不適用 | 14,836,736 | 2010 年 4 月 8 日 | 01:28 | 不適用 |
| Sqlrun_ns.msp | 不適用 | 3,965,952 | 2010 年 4 月 8 日 | 01:28 | 不適用 |
| Sqlrun_rs.msp | 不適用 | 16,354,304 | 2010 年 4 月 8 日 | 01:31 | 不適用 |
| Sqlrun_sql.msp | 不適用 | 39,590,400 | 2010 年 4 月 8 日 | 01:36 | 不適用 |
| Sqlrun_tools.msp | 不適用 | 48,827,904 | 2010 年 4 月 8 日 | 01:46 | 不適用 |
基於 x64 型版本的 SQL Server 2005
| 檔案名稱 | 檔案版本 | 檔案大小 | 日期 | 時間 | 雜湊 |
|---|---|---|---|---|---|
| Batchparser90.dll | 2005.90.4035.0 | 179,552 | 25-Nov-2008 | 04:38 | |
| Dbghelp.dll | 6.6.7.5 | 1,326,944 | 25-Nov-2008 | 04:38 | MD5: 1F5B11622850EBFEA889A8B6F1132F57 SHA1: 68B256D48B40C58FD67DADBC815F443C826BE073 |
| Dumpdatastore.dll | 2005.90.4035.0 | 1,566,560 | 25-Nov-2008 | 04:39 | MD5: D3D83B642E6D906918A4527B04E82CA1 SHA1: FADA34561343B9A1B2313335690B2B881E237678 |
| Msvcp80.dll | 8.0.50727.42 | 1,097,728 | 2005 年 10 月 14 日 | 04:46 | MD5: 5AE0F01F02A03558DA0CBD249E4DF263 SHA1: 64735AB4635B587647A11A599E39D2233D9DE6F0 |
| Msvcr80.dll | 8.0.50727.42 | 822,784 | 2005 年 10 月 14 日 | 04:46 | MD5: 465CEBD7DA2CEABA5E552FC9118A1415 SHA1: 995060CABE3DDF199B400AD0D80FF5660626793C |
| Sqlcmd.exe | 2005.90.4035.0 | 336,736 | 25-Nov-2008 | 04:45 | MD5: 105FAD078031DF182E32C53D5994C457 SHA1: D8953F00436F38880B4B587391BD0D2309E5297E |
| Sqlcmd.rll | 2005.90.4035.0 | 25,440 | 25-Nov-2008 | 04:40 | 不適用 |
| Sqldiscoveryapi.dll | 2005.90.4035.0 | 750,432 | 25-Nov-2008 | 04:45 | MD5: 0826CE00BFB5DA7374E4D0E146942471 SHA1: 668553462BD285FBDC241A23E4E259FEF1235DEF |
| Sqlsetupvista.dll | 2005.90.4035.0 | 316,256 | 25-Nov-2008 | 04:45 | MD5: 41BBA84E4D204046EF0059E573B98988 SHA1: 557F186F46D09AE59C655B52675D604593E8E611 |
| Finalsql2005information.rtf | 不適用 | 844 | 2010 年 1 月 14 日 | 14:37 | 不適用 |
| Sqlhotfix.chm | 不適用 | 116,106 | 2010 年 1 月 14 日 | 14:37 | 不適用 |
| Sqlse.rll | 1.4.1581.0 | 60,776 | 2010 年 4 月 7 日 | 1:17:33 AM | 不適用 |
| Sqlrun_as.msp | 不適用 | 46,118,400 | 2010 年 4 月 8 日 | 01:15 | 不適用 |
| Sqlrun_dts.msp | 不適用 | 22,150,656 | 2010 年 4 月 8 日 | 1,801 | 不適用 |
| Sqlrun_ns.msp | 不適用 | 5,689,344 | 2010 年 4 月 8 日 | 19:01 | 不適用 |
| Sqlrun_rs.msp | 不適用 | 21,256,192 | 2010 年 4 月 8 日 | 2,201 | 不適用 |
| Sqlrun_sql.msp | 不適用 | 45,197,312 | 2010 年 4 月 8 日 | 01:28 | 不適用 |
| Sqlrun_tools.msp | 不適用 | 65,248,768 | 2010 年 4 月 8 日 | 01:38 | 不適用 |
IA-64 版本的 SQL Server 2005
| 檔案名稱 | 檔案版本 | 檔案大小 | 日期 | 時間 | 雜湊 |
|---|---|---|---|---|---|
| Batchparser90.dll | 2005.90.4035.0 | 293,728 | 24-Nov-2008 | 19:52 | |
| Dbghelp.dll | 6.6.7.5 | 3,631,456 | 24-Nov-2008 | 19:52 | MD5: BB797393886A04ED2847AC966A23439D SHA1: B43F7926C0FD268F4496A116B9176753601B5EAD |
| Dumpdatastore.dll | 2005.90.4035.0 | 4,322,144 | 24-Nov-2008 | 19:47 | MD5: 5677EC5C5DA9AB7C71580996E598433E SHA1: A98591A4D220C293A6C8E1D2B17E3C4847545721 |
| Msvcp80.dll | 8.0.50727.42 | 1,385,472 | 2005 年 10 月 14 日 | 04:35 | MD5: 7F0715E63E08692F39C017A6A2D61E56 SHA1: 24B674285AC11D0496529EBC9E7FADC7B7955AC3 |
| Msvcr80.dll | 8.0.50727.42 | 1,484,800 | 2005 年 10 月 14 日 | 04:35 | MD5: 88B3570029DEC94B06199DB8E7EB66D9 SHA1: FC8EE955B19FCE0F4F1C8F17F9AD97ACB4E129A4 |
| Sqlcmd.exe | 2005.90.4035.0 | 530,784 | 24-Nov-2008 | 20:03 | MD5: 512C6ECF02979B75B5C52D5F3021C379 SHA1: 03A8D2BE83EFF1ACE5B002D5E390670B1EF14D83 |
| Sqlcmd.rll | 2005.90.4035.0 | 24,416 | 24-Nov-2008 | 19:58 | 不適用 |
| Sqldiscoveryapi.dll | 2005.90.4035.0 | 1,939,808 | 24-Nov-2008 | 2,004 | MD5: 63834474BB3D9B15958A40B0FF102F93 SHA1: F00BE0A455B134CF17FF6C9FBCF19D93BC6F403B |
| Sqlsetupvista.dll | 2005.90.4035.0 | 702,816 | 24-Nov-2008 | 2,004 | MD5: 593F2B3BD7C92AEF28A751D5C4421C84 SHA1: 58D55D1822E697D701F9B45A50A6A5B67B998E77 |
| Finalsql2005information.rtf | 不適用 | 844 | 2010 年 1 月 14 日 | 14:37 | 不適用 |
| Sqlhotfix.chm | 不適用 | 116,106 | 2010 年 1 月 14 日 | 14:37 | 不適用 |
| Sqlse.rll | 1.4.1581.0 | 59,240 | 2010 年 4 月 7 日 | 2,004 | 不適用 |
| Sqlrun_as.msp | 不適用 | 67,258,368 | 2010 年 4 月 8 日 | 00:57 | 不適用 |
| Sqlrun_dts.msp | 不適用 | 35,875,328 | 2010 年 4 月 8 日 | 01:01 | 不適用 |
| Sqlrun_ns.msp | 不適用 | 12,269,056 | 2010 年 4 月 8 日 | 01:02 | 不適用 |
| Sqlrun_rs.msp | 不適用 | 31,128,576 | 2010 年 4 月 8 日 | 01:06 | 不適用 |
| Sqlrun_sql.msp | 不適用 | 69,868,032 | 2010 年 4 月 8 日 | 01:13 | 不適用 |
| Sqlrun_tools.msp | 不適用 | 65,883,648 | 2010 年 4 月 8 日 | 23:01 | 不適用 |
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
如需有關軟體更新術語的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
824684 描述Microsoft軟體更新所使用的標準術語說明