當 FIX: 發生存取違規時,便會記錄在 SQL Server 錯誤記錄檔中執行查詢,它會使用 SQL Server 2005 中的計劃指南

文章翻譯 文章翻譯
文章編號: 928539 - 檢視此文章適用的產品。
Bug #: 50000452 (SQL Hotfix)
注意事項
Microsoft 為一個可下載檔案散佈 Microsoft SQL Server 2005 的修正程式。因為修正程式是累積,每個新版本包含所有 Hotfix 及先前的 SQL Server 2005 隨附所有安全性修正程式都修正發行。
全部展開 | 全部摺疊

在此頁中

本文將告訴您下列關於此 Hotfix 版本:
  • 此 Hotfix 套件所修正的問題
  • 安裝 Hotfix 套件的先決條件
  • 是否之後,您必須重新啟動電腦安裝 Hotfix 套件的相關資訊
  • 是否 Hotfix 套件就會取代任何其他 Hotfix 套件的相關資訊
  • 您必須在是否做任何登錄變更的相關資訊
  • 包含在 Hotfix 套件中的檔案

徵狀

當您在執行查詢,SQL Server 2005 中使用計劃指南時,查詢可能會間歇地失敗。此外,SQL Server 錯誤記錄檔會記錄類似下列的存取違規:
2006-08-23 13:34:10.48 spid438 正在傳送至 H:\MSSQL\LOG\SQLDump0016.txt 堆疊傾印
2006-08-23 13:34:10.48 spid438 SqlDumpExceptionHandler: 處理程序 438 產生嚴重的例外狀況 c0000005 EXCEPTION_ACCESS_VIOLATION。SQL Server 正在終止此程序。
2006-08-23 13:34:10.48 spid438 * *******************************************************************************
2006-08-23 13:34:10.48 spid438 *
2006-08-23 13:34:10.48 spid438 * BEGIN 堆疊 DUMP:
2006-08-23 13:34:10.48 spid438 * 08/23/06 13:34:10 spid 438
2006-08-23 13:34:10.48 spid438 *
2006-08-23 13:34:10.48 spid438 *
2006-08-23 13:34:10.48 spid438 * 例外狀況位址 = 00000000034CE1D0 Module(sqlservr+00000000024CE1D0)
2006-08-23 13:34:10.48 spid438 * 例外狀況碼 = c0000005 EXCEPTION_ACCESS_VIOLATION
2006-08-23 13:34:10.48 spid438 * 發生讀取存取違規解決 0000000000000010
如果下列情況成立,就會發生這個問題:
  • 查詢會使用計劃指南。
  • 查詢接受一些參數。
  • 計劃指南適用於為查詢最佳化 FOR 提示。
  • 執行查詢前,會重新編譯查詢。

解決方案

Microsoft 提供支援的 Hotfix。不過,此 Hotfix 旨在修正本文中所述隨問題。只會發生此特定問題的系統套用此 Hotfix。這個 Hotfix 可能會接受額外的測試。因此,如果您不會嚴重影響這個問題,我們建議您等候下一個包含此 Hotfix 的軟體更新。

如果此 Hotfix 可供下載,您可在本知識庫文件的頂端找到「 可用的 Hotfix 下載 」區段。如果本節 Does Not Appear 請連絡[ Microsoft 客戶服務 ] 和 [ 支援 ] 以取得此 Hotfix。

附註如果發生其他問題,或如果需要任何疑難排解,您可能必須建立個別的服務要求。和此 Hotfix 無關的額外支援問題適用一般的支援費用。如需 Microsoft 客戶服務支援部門電話號碼的完整清單或要建立個別的服務要求,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support
附註「 下載 Hotfix 」 表單會顯示此 Hotfix 會出現,以供使用的語言。如果您沒有看到您的語言,是因為此 Hotfix 是不適用您的語言。

必要條件

您必須執行 SQL Server 2005 Service Pack 1 (SP1) 套用此 Hotfix。如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
913089如何取得最新的 Service Pack,SQL Server 2005 的

重新啟動資訊

您沒有套用此 Hotfix 之後重新啟動電腦。

登錄資訊

您沒有變更登錄。

Hotfix 檔案資訊

此 Hotfix 包含只需修正本文所列問題的那些檔案。此 Hotfix 並未包含必須將產品完整更新至最新版組建的所有檔案。

此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用在 [日期及時間中項目控制台中的 [時區] 索引標籤]。
SQL Server 2005 32年位元版本
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Logread.exe2005.90.2206.0398,1122006 年十一月 17 日11: 16x86
Microsoft.analysisservices.adomdclient.dll9.0.2206.0543,5202006 年十一月 17 日11: 16x86
Microsoft.analysisservices.deploymentengine.dll9.0.2206.0138,0162006 年十一月 17 日11: 16x86
Microsoft.analysisservices.dll9.0.2206.01,215,2642006 年十一月 17 日11: 16x86
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2206.075,5522006 年十一月 17 日11: 16x86
Microsoft.sqlserver.sqlenum.dll9.0.2206.0908,0642006 年十一月 17 日11: 16x86
Msasxpress.dll9.0.2206.022,3042006 年十一月 17 日11: 16x86
Msgprox.dll2005.90.2206.0197,9202006 年十一月 17 日11: 16x86
Msmdlocal.dll9.0.2206.015,614,7522006 年十一月 17 日11: 16x86
Msmdredir.dll9.0.2206.03,990,3042006 年十一月 17 日11: 16x86
Mssqlsystemresource.ldf不適用524,2882006 年十一月 16 日13: 58不適用
Mssqlsystemresource.mdf不適用40,108,0322006 年十一月 16 日13: 58不適用
Replprov.dll2005.90.2206.0547,6162006 年十一月 17 日11: 16x86
Replrec.dll2005.90.2206.0782,1122006 年十一月 17 日11: 16x86
Sqlaccess.dll2005.90.2206.0347,9362006 年十一月 17 日11: 16x86
Sqlagent90.exe2005.90.2206.0318,7522006 年十一月 17 日11: 16x86
Sqlservr.exe2005.90.2206.028,964,6962006 年十一月 17 日11: 16x86
Sysdbupg.sql不適用192,3462006 年八月 21 日14: 01不適用
Xmlsub.dll2005.90.2206.0192,8002006 年十一月 17 日11: 10x86
Xpstar90.dll2005.90.2206.0292,6402006 年十一月 17 日11: 10x86
Xpstar90.rll2005.90.2206.0152,8642006 年十一月 17 日11: 16x86
SQL Server 2005 x x64 為主版
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Logread.exe2005.90.2206.0522,5282006 年十一月 17 日02: 02x64
Microsoft.analysisservices.adomdclient.dll9.0.2206.0543,5202006 年十一月 17 日11: 16x86
Microsoft.analysisservices.adomdclient.dll9.0.2206.0543,5202006 年十一月 17 日02: 02x86
Microsoft.analysisservices.deploymentengine.dll9.0.2206.0138,0162006 年十一月 17 日11: 16x86
Microsoft.analysisservices.dll9.0.2206.01,215,2642006 年十一月 17 日11: 16x86
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2206.075,5522006 年十一月 17 日11: 16x86
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2206.091,4242006 年十一月 17 日02: 02x64
Microsoft.sqlserver.sqlenum.dll9.0.2206.0875,2962006 年十一月 17 日02: 02x86
Msasxpress.dll9.0.2206.022,3042006 年十一月 17 日11: 16x86
Msasxpress.dll9.0.2206.027,4242006 年十一月 17 日02: 02x64
Msgprox.dll2005.90.2206.0259,3602006 年十一月 17 日02: 02x64
Msmdlocal.dll9.0.2206.015,614,7522006 年十一月 17 日11: 16x86
Msmdredir.dll9.0.2206.03,990,3042006 年十一月 17 日11: 16x86
Mssqlsystemresource.ldf不適用524,2882006 年十一月 16 日13: 58不適用
Mssqlsystemresource.mdf不適用40,108,0322006 年十一月 16 日13: 58不適用
Replprov.dll2005.90.2206.0745,2482006 年十一月 17 日02: 02x64
Replrec.dll2005.90.2206.01,008,4162006 年十一月 17 日02: 02x64
Sqlaccess.dll2005.90.2206.0355,1042006 年十一月 17 日02: 02x86
Sqlagent90.exe2005.90.2206.0389,9202006 年十一月 17 日02: 02x64
Sqlservr.exe2005.90.2206.039,371,0402006 年十一月 17 日02: 02x64
Sysdbupg.sql不適用192,3462006 年八月 21 日14: 01不適用
Xmlsub.dll2005.90.2206.0317,2162006 年十一月 17 日02: 02x64
Xpstar90.dll2005.90.2206.0540,9602006 年十一月 17 日02: 02x64
Xpstar90.rll2005.90.2206.0153,3762006 年十一月 17 日02: 02x64
SQL Server 2005 Itanium 架構版本
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Logread.exe2005.90.2206.01,095,4562006 年十一月 16 日20: 14IA 64
Microsoft.analysisservices.adomdclient.dll9.0.2206.0543,5202006 年十一月 16 日20: 14x86
Microsoft.analysisservices.adomdclient.dll9.0.2206.0543,5202006 年十一月 17 日11: 16x86
Microsoft.analysisservices.deploymentengine.dll9.0.2206.0138,0162006 年十一月 17 日11: 16x86
Microsoft.analysisservices.dll9.0.2206.01,215,2642006 年十一月 17 日11: 16x86
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2206.0163,1042006 年十一月 16 日20: 14IA 64
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2206.075,5522006 年十一月 17 日11: 16x86
Microsoft.sqlserver.sqlenum.dll9.0.2206.0875,2962006 年十一月 16 日20: 14x86
Msasxpress.dll9.0.2206.055,0722006 年十一月 16 日20: 14IA 64
Msasxpress.dll9.0.2206.022,3042006 年十一月 17 日11: 16x86
Msgprox.dll2005.90.2206.0542,4962006 年十一月 16 日20: 14IA 64
Msmdlocal.dll9.0.2206.048,610,0802006 年十一月 16 日20: 14IA 64
Msmdredir.dll9.0.2206.06,244,1282006 年十一月 16 日20: 14IA 64
Mssqlsystemresource.ldf不適用524,2882006 年十一月 16 日13: 58不適用
Mssqlsystemresource.mdf不適用40,108,0322006 年十一月 16 日13: 58不適用
Replprov.dll2005.90.2206.01,617,1842006 年十一月 16 日20: 14IA 64
Replrec.dll2005.90.2206.02,141,4722006 年十一月 16 日20: 14IA 64
Sqlaccess.dll2005.90.2206.0349,4722006 年十一月 16 日20: 14x86
Sqlagent90.exe2005.90.2206.01,141,0242006 年十一月 16 日20: 14IA 64
Sqlservr.exe2005.90.2206.072,259,8722006 年十一月 16 日20: 14IA 64
Sysdbupg.sql不適用192,3462006 年八月 21 日14: 01不適用
Xmlsub.dll2005.90.2206.0590,6242006 年十一月 16 日20: 14IA 64
Xpstar90.dll2005.90.2206.0951,0722006 年十一月 16 日20: 14IA 64
Xpstar90.rll2005.90.2206.0152,3522006 年十一月 16 日20: 14IA 64

其他可行方案

如果要解決這個問題,嘗試避免查詢重新編譯。若要決定重新編譯的理由,使用 Microsoft 知識庫 」 文章 308737 所述的方法。如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
308737如何找出 SP:Recompile 事件中的重新編譯的原因

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

其他相關資訊

如果要重現問題的步驟

  1. 開啟 SQL Server 管理 Studio。
  2. 連線至 SQL Server 2005 的執行個體。
  3. Create a new query, and then run the following statements.
    use tempdb
    go
    
    create table mytab1 (col1 nvarchar(50), col2 nvarchar(100), col3 int)
    go
    
    create table mytab2 (a int)
    go
    
    insert into mytab1 values ('col1 value', 'col2 value', 1)
    go
    
    insert into mytab2 values (1)
    go
    
    set quoted_identifier off;
    go
    
    sp_create_plan_guide 
    N'myplanguide',
    N'select * from mytab1 join mytab2 on col3 = a where col1 = @p1', 
    N'SQL',
    NULL,
    N'@p1 nvarchar(30)',
    N'OPTION (FAST 40, OPTIMIZE FOR (@p1 = N''col2''))'
    go
    
    select * from sys.plan_guides
    go
    
    sp_executesql N'select * from mytab1 join mytab2 on col3 = a where col1 = @p1', N'@p1 nvarchar(30)', N'col2'
    go
    
    drop table mytab1
    go
    
    create table mytab1 (col1 nvarchar(50), col2 nvarchar(100), col3 int)
    go
    
    sp_executesql N'select * from mytab1 join mytab2 on col3 = a where col1 = @p1', N'@p1 nvarchar(30)', N'col2'
    go
    
    sp_control_plan_guide N'drop all'
    go
    

?考

如需有關最佳化 FOR 提示的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站]:
http://msdn2.microsoft.com/en-us/library/ms181714.aspx
如 Microsoft SQL Server 更新命名的結構描述的更多有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
822499Microsoft SQL Server 軟體更新套件的新命名結構描述
如需有關軟體更新術語的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
824684用來描述 Microsoft 軟體更新標準術語的說明

屬性

文章編號: 928539 - 上次校閱: 2007年11月20日 - 版次: 1.4
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
關鍵字:?
kbmt kbautohotfix kbexpertiseadvanced kbtshoot kbfix kbsql2005engine kbhotfixserver kbqfe kbpubtypekc KB928539 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:928539
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com