FIX: 發生存取違規如果一個 sp_cursoropen 呼叫參考未定義的參數

文章翻譯 文章翻譯
文章編號: 810163 - 檢視此文章適用的產品。
本文已封存。本文係以「現狀」提供且不會再更新。
Bug #: 363090 (SHILOH_BUGS)
全部展開 | 全部摺疊

在此頁中

徵狀

如果 sp_cursoropen 呼叫參考未定義的參數,伺服器就會引發 CExecParam::Init 中的處理的存取違規。查詢可能會看起來類似下列的查詢:
exec sp_cursoropen @P1 output,
      N'SELECT * FROM tbl WHERE somecolumn = @P5',
      @P2 output, @P3 output, @P4 output
筆記 的查詢包含 @ P5 不提供參數,但型別和參數的值。

The following stack is similar to the stack that is recorded in the SQL Server error log:
* Short Stack Dump
* 005DBD40 Module(sqlservr+001DBD40) (CExecParam::Init+00000006)
* 005DC162 Module(sqlservr+001DC162) (CParamExchange::InsertParam+0000001B)
* 00584715 Module(sqlservr+00184715) (CSPCursorOpenParams::CreateExecSqlPxp+0000016C)
* 00581FD0 Module(sqlservr+00181FD0) (SPCursor::Open+000000C6)
* 005E4CDE Module(sqlservr+001E4CDE) (CSpecProc::ExecuteSpecial+00000080)
* 005E49B6 Module(sqlservr+001E49B6) (CXProc::Execute+000000A3)
* 005E6BB4 Module(sqlservr+001E6BB4) (CSQLSource::Execute+0000037B)
* 00429DD3 Module(sqlservr+00029DD3) (execrpc+000004CB)
* 0042904D Module(sqlservr+0002904D) (execute_rpc+00000019)
* 00410FCE Module(sqlservr+00010FCE) (process_commands+00000210)
* 41073379 Module(UMS+00003379) (ProcessWorkRequests+0000024A)
* 41073071 Module(UMS+00003071) (ThreadStartRoutine+000000BD)
* 7800C9EB Module(MSVCRT+0000C9EB) (beginthread+000000CE)
* 77E96523 Module(KERNEL32+00016523) (TlsSetValue+00000115)
Note This stack is from Sqlservr.exe build 534.

解決方案

服務套件資訊

如果要解決這個問題,取得最新的 Service Pack,Microsoft SQL Server 2000。如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
290211如何取得最新的 SQL Server 2000 Service Pack

Hotfix 資訊

此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用 [中日期] 和 [時間] 工具,在 [控制台] 中的 [時區] 索引標籤]。

下列修正程式為 Hotfix 建置 701。它只可以套用至 SQL Server 2000 Service Pack 2 (SP2)。
   Date         Time   Version              Size  File name
   -------------------------------------------------------------------
   30-Aug-2002  21:08                    786,432  Distmdl.ldf
   30-Aug-2002  21:08                  2,359,296  Distmdl.mdf
   09-Oct-2002  00:54                        544  Drop_repl_hotfix.sql
   02-Jul-2002  15:35  2000.80.650.0     107,088  Impprov.dll      
   19-Jul-2002  16:56                    774,516  Instdist.sql
   08-Oct-2002  23:56                     12,615  Inst_repl_hotfix.sql
   20-Aug-2002  16:24  2000.80.679.0     111,172  Logread.exe      
   07-Apr-2002  02:08  2000.80.606.0      62,024  Odsole70.dll     
   03-Jan-2002  01:59                     18,185  Qfe356326.sql
   20-Aug-2002  16:47  2000.80.679.0     135,748  Qrdrsvc.exe      
   26-Aug-2002  22:49  2000.80.679.0     406,088  Rdistcom.dll     
   04-Oct-2001  01:36                    437,302  Replcom.sql
   20-Aug-2002  16:33  2000.80.679.0     152,136  Replmerg.exe     
   19-Nov-2001  20:36                    993,945  Replmerg.sql
   05-Nov-2002  23:48  2000.80.700.0     221,768  Replprov.dll     
   04-Oct-2001  01:36                    986,906  Replsys.sql
   04-Oct-2001  01:36                    881,228  Repltran.sql
   26-Aug-2002  22:49  2000.80.679.0     283,208  Rinitcom.dll     
   16-Sep-2002  22:31                    390,045  Securityhotfix.sql
   26-Aug-2002  22:49  2000.80.679.0      28,672  Sqlagent.dll     
   26-Aug-2002  18:39  2000.80.679.0     311,872  Sqlagent.exe     
   28-Aug-2002  16:32  2000.80.679.0      49,152  Sqlagent.rll
   26-Aug-2002  22:49  2000.80.679.0      53,824  Sqlcmdss.dll     
   28-Aug-2002  16:40  2000.80.679.0      12,288  Sqlcmdss.rll
   24-Oct-2002  17:37  2000.80.695.0     176,696  Sqlmap70.dll     
   08-Nov-2002  00:49  2000.80.701.0   7,471,188  Sqlservr.exe     
   01-Nov-2002  18:56  2000.80.698.0      45,644  Sqlvdi.dll       
   01-Nov-2002  18:00  2000.80.697.0      82,492  Ssnetlib.dll     
   07-Apr-2002  02:08  2000.80.606.0      70,208  Xplog70.dll      
   07-Apr-2002  02:08  2000.80.606.0      53,828  Xpqueue.dll      
   07-Apr-2002  02:08  2000.80.606.0     156,228  Xprepl.dll       
   12-Jul-2002  01:00  2000.80.658.0     279,104  Xpstar.dll       
   16-Sep-2002  23:12  2000.80.686.0      98,872  Xpweb70.dll

A separate fix (build 8.00.0765) that addresses this problem in SQL Server 2000 SP3 is available.
   Date         Time   Version              Size  File name
   -------------------------------------------------------------------
   08-Feb-2003  05:43                    786,432  Distmdl.ldf
   08-Feb-2003  05:43                  2,359,296  Distmdl.mdf
   30-Jan-2003  01:55                        180  Drop_repl_hotfix.sql
   01-Feb-2003  00:32  2000.80.763.0   1,557,052  Dtsui.dll        
   30-Jan-2003  05:18                    746,470  Instdist.sql
   30-Jan-2003  01:55                      1,402  Inst_repl_hotfix.sql
   08-Feb-2003  06:40  2000.80.765.0      90,692  Msgprox.dll      
   08-Feb-2003  03:53                  1,065,895  Replmerg.sql
   08-Feb-2003  06:40  2000.80.765.0     221,768  Replprov.dll     
   08-Feb-2003  06:40  2000.80.765.0     307,784  Replrec.dll      
   30-Jan-2003  05:18                  1,084,318  Replsys.sql
   08-Feb-2003  06:40  2000.80.765.0     176,696  Sqlmap70.dll     
   08-Feb-2003  06:40  2000.80.765.0      57,920  Sqlrepss.dll     
   08-Feb-2003  06:41  2000.80.765.0   7,528,529  Sqlservr.exe     
   08-Feb-2003  06:40  2000.80.765.0      45,644  Sqlvdi.dll       
   08-Feb-2003  06:40  2000.80.765.0      82,492  Ssnetlib.dll
附註由於檔案相依性最新版 Hotfix 或包含這些檔案的功能也可能包含其他檔案。

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。這個問題,首先已經在 Microsoft SQL Server 2000 服務套件 4 中獲得修正。

其他相關資訊

使用的格式不正確的查詢只會發生這個問題。問題的修正方法是擲回錯誤,指出 sp_cursoropen 呼叫語式不,代替造成存取違規。

屬性

文章編號: 810163 - 上次校閱: 2014年2月27日 - 版次: 10.4
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
關鍵字:?
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB810163 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:810163
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