FIX: 發生存取違規例外狀況時,可能會發生多個使用者嘗試執行資料修改作業在同一時間,射擊參考了已刪除或執行 SMP 的電腦上 SQL Server 2000 中 inserted 的資料表的觸發程序

文章翻譯 文章翻譯
文章編號: 873446 - 檢視此文章適用的產品。
Bug #: 471952 (SQL Server 8.0)


全部展開 | 全部摺疊

在此頁中

文件內容

結論

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

徵狀

當您在多重使用者環境中工作您連接到對稱的多處理器 (SMP) 電腦執行的 Microsoft SQL Server 2000 的執行個體當您嘗試修改 SQL Server 資料表中的資料時,可能就會發生存取違規例外狀況。

當下列情況成立時,可能就會發生這個問題:
  • 多個使用者嘗試執行資料修改作業 (例如相同的 SQL Server 資料表上的 UPDATE 作業一次。
  • 在對應到資料的修改作業的 SQL Server 資料表上定義一或多個觸發程序。
  • 一或多個觸發程序存取 inserted 的資料表、 已刪除的資料表或兩者。
發生這種行為取決於資料修改作業與記錄檔掃描作業之時間差異。時間差異是小型的。因此,並不會發生此行為經常。

如需清單前一個快速補充程式請參閱 「 Microsoft SQL Server 2000 post-Service 封包 3 或 Microsoft SQL 伺服器 2000 post-Service 封包 3a Hotfix 」 一節,下列 「 Microsoft 知識庫 」 文件中:
290211如何取得最新的 SQL Server 2000 Service Pack

解決方案

服務套件資訊

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

Hotfix 資訊

必要條件

此 Hotfix 需要 Microsoft SQL Server 2000 Service Pack 3 (SP3) 或 Microsoft SQL Server 2000 Service Pack 3a (SP3a)。 如需有關如何取得資訊 SQL Server 2000 SP3 或 SQL Server 2000 SP3a 請參閱下列的文件 「 Microsoft 知識庫 」 中:

290211如何取得最新的 SQL Server 2000 Service Pack


重新啟動資訊

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



Hotfix 檔案資訊

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

此 Hotfix 的英文版具有檔案屬性 (或更新) 中如下表所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用 [中日期] 和 [時間] 工具,在 [控制台] 中的 [時區] 索引標籤]。
   Date         Time   Version            Size    File name
   -------------------------------------------------------------------------
   15-Jul-2004  16:12  2000.80.961.0     664,128  Autoplt.dll
   15-Jul-2004  16:27  2000.80.961.0      78,400  Console.exe
   15-Jul-2004  16:44  2000.80.961.0     315,968  Custtask.dll
   15-Jul-2004  16:12  2000.80.961.0      33,340  Dbmslpcn.dll
   08-Apr-2004  09:12                    786,432  Distmdl.ldf
   08-Apr-2004  09:12                  2,359,296  Distmdl.mdf
   10-Oct-2003  06:18                        180  Drop_repl_hotfix.sql
   15-Jul-2004  16:40  2000.80.961.0   1,905,216  Dtspkg.dll
   15-Jul-2004  16:37  2000.80.961.0     528,960  Dtspump.dll
   15-Jul-2004  16:53  2000.80.961.0   1,557,052  Dtsui.dll
   15-Jul-2004  16:52  2000.80.961.0     639,552  Dtswiz.dll
   10-Oct-2003  06:18                    747,927  Instdist.sql
   10-Oct-2003  06:18                      1,581  Inst_repl_hotfix.sql
   15-Jul-2004  16:59  2000.80.961.0     352,828  Isqlw.exe
   15-Jul-2004  16:53  2000.80.961.0      82,492  Itwiz.exe
   15-Jul-2004  16:11  2000.80.961.0      90,692  Msgprox.dll
   19-May-2004  11:13  8.11.40209.0      209,408  Mssdi98.dll
   15-Jul-2004  16:14  2000.80.961.0      62,024  Odsole70.dll
   15-Jul-2004  16:32  2000.80.961.0      25,144  Opends60.dll
   15-Jul-2004  16:13  2000.80.961.0      57,904  Osql.exe
   15-Jul-2004  16:41  2000.80.961.0     279,104  Pfutil80.dll
   10-Oct-2003  06:07                    550,780  Procsyst.sql
   08-Apr-2004  09:12                     12,305  Qfe469315.sql
   08-Apr-2004  09:12                     19,195  Qfe469571.sql
   15-Jul-2004  17:43                  1,105,167  Replmerg.sql
   15-Jul-2004  16:21  2000.80.961.0     221,768  Replprov.dll
   15-Jul-2004  16:23  2000.80.961.0     307,784  Replrec.dll
   15-Jul-2004  16:14  2000.80.961.0     159,813  Replres.rll
   10-Oct-2003  06:18                  1,087,150  Replsys.sql
   10-Oct-2003  06:18                    986,603  Repltran.sql
   15-Jul-2004  16:27  2000.80.961.0     287,304  Rinitcom.dll
   15-Jul-2004  16:12  2000.80.961.0      78,416  Sdiclnt.dll
   15-Jul-2004  16:01  2000.80.961.0      66,112  Semmap.dll
   15-Jul-2004  16:06  2000.80.961.0      57,916  Semnt.dll
   15-Jul-2004  16:50  2000.80.961.0     492,096  Semobj.dll
   15-Jul-2004  16:45  2000.80.961.0     172,032  Semobj.rll
   15-Jul-2004  16:20  2000.80.961.0      53,832  Snapshot.exe
   13-Jul-2004  08:29                    117,834  Sp3_serv_uni.sql
   15-Jul-2004  16:06  2000.80.961.0      28,672  Sqlagent.dll
   15-Jul-2004  16:10  2000.80.961.0     311,872  Sqlagent.exe
   15-Jul-2004  16:16  2000.80.961.0     168,001  Sqlakw32.dll
   15-Jul-2004  16:16  2000.80.961.0      33,344  Sqlctr80.dll
   15-Jul-2004  16:52  2000.80.961.0   4,215,360  Sqldmo.dll
   15-Jul-2004  16:19                     25,172  Sqldumper.exe
   15-Jul-2004  16:02  2000.80.961.0      28,672  Sqlevn70.rll
   15-Jul-2004  16:22  2000.80.961.0     156,224  Sqlmaint.exe
   15-Jul-2004  16:25  2000.80.961.0     180,792  Sqlmap70.dll
   15-Jul-2004  16:50  2000.80.961.0     188,992  Sqlmmc.dll
   15-Jul-2004  16:46  2000.80.961.0     479,232  Sqlmmc.rll
   15-Jul-2004  16:44  2000.80.961.0     401,984  Sqlqry.dll
   15-Jul-2004  16:23  2000.80.961.0      57,920  Sqlrepss.dll
   15-Jul-2004  16:16  2000.80.961.0   7,512,640  Sqlservr.exe     
   15-Jul-2004  16:04  2000.80.961.0     590,396  Sqlsort.dll      
   15-Jul-2004  16:24  2000.80.961.0      45,644  Sqlvdi.dll
   15-Jul-2004  16:23  2000.80.961.0     106,588  Sqsrvres.dll
   15-Jul-2004  16:12  2000.80.961.0      33,340  Ssmslpcn.dll
   15-Jul-2004  16:13  2000.80.961.0      82,492  Ssnetlib.dll
   15-Jul-2004  16:30  2000.80.961.0      25,148  Ssnmpn70.dll
   15-Jul-2004  16:25  2000.80.961.0     123,456  Stardds.dll
   15-Jul-2004  16:26  2000.80.961.0     158,240  Svrnetcn.dll
   15-Jul-2004  16:26  2000.80.961.0      76,416  Svrnetcn.exe
   15-Jul-2004  16:30  2000.80.961.0      53,808  Ums.dll
   15-Jul-2004  16:27  2000.80.961.0      98,872  Xpweb70.dll


附註由於檔案相依性的最新 Hotfix 包含這些檔案也可能包含其他檔案。

狀況說明

Microsoft 已確認這是在 < 適用於 > 一節中所列出的 Microsoft 產品中有錯誤。

這個問題,首先已經在 Microsoft SQL Server 2000 服務套件 4 中獲得修正。

其他相關資訊

取得更多資訊有關 Microsoft SQL Server 更新命名的結構描述按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
822499Microsoft SQL Server 軟體更新套件的新命名結構描述
如 Microsoft 時修正軟體,它發行之後所使用的術語的額外有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
824684用來描述 Microsoft 軟體更新標準術語的說明

堆疊資訊

時就會發生這個問題可能會注意到類似於下列 SQL Server 錯誤記錄檔中的簡短的堆疊傾印:

* Short Stack Dump
* 00000000004ACA40 Module(sqlservr+00000000000ACA40) (LC::Copy+00000000000000B0)
* 00000000004ABDC0 Module(sqlservr+00000000000ABDC0) (LogMgr::LogBlockReadAheadAsync+0000000000000160)
* 0000000000716D80 Module(sqlservr+0000000000316D80) (LogIterForward::ReadLog+0000000000000180)
* 00000000007185D0 Module(sqlservr+00000000003185D0) (LogIterForward::TryLogReadAhead+0000000000000260)
* 0000000000717170 Module(sqlservr+0000000000317170) (LogIterForward::GetNextBlock+0000000000000190)
* 0000000000717C70 Module(sqlservr+0000000000317C70) (LogIterForward::GetNext+00000000000001C0)
* 000000000105D110 Module(sqlservr+0000000000C5D110) (RowsetLogScan::GetNextRows+0000000000000250)
* 00000000004F1E70 Module(sqlservr+00000000000F1E70) (CQScanRowset::GetRowWithPrefetch+0000000000000330)
* 00000000004F2010 Module(sqlservr+00000000000F2010) (CQScanRowset::GetRow+00000000000000E0)
* 0000000000458C50 Module(sqlservr+0000000000058C50) (CQueryScan::GetRow+00000000000002F0)
* 00000000004545C0 Module(sqlservr+00000000000545C0) (CStmtQuery::ErsqExecuteQuery+00000000000006F0)
* 0000000000472550 Module(sqlservr+0000000000072550) (CStmtAssignWithQuery::XretExecute+0000000000000310)
* 0000000000472220 Module(sqlservr+0000000000072220) (CMsqlExecContext::ExecuteStmts+0000000000000CB0)
* 000000000044F480 Module(sqlservr+000000000004F480) (CMsqlExecContext::Execute+0000000000000810)
* 000000000044F280 Module(sqlservr+000000000004F280) (CSQLSource::Execute+00000000000003C0)
* 00000000014BA680 Module(sqlservr+00000000010BA680) (ExecTrigger+0000000000000210)
* 00000000014BDAF0 Module(sqlservr+00000000010BDAF0) (ExecAfterTrigs+0000000000000380)
* 00000000009EF910 Module(sqlservr+00000000005EF910) (CStmtDML::XretExecuteNormal+0000000000002150)
* 00000000004816A0 Module(sqlservr+00000000000816A0) (CMsqlExecContext::ExecuteStmts+0000000000000BB0)
* 000000000044F480 Module(sqlservr+000000000004F480) (CMsqlExecContext::Execute+0000000000000810)
* 000000000044F280 Module(sqlservr+000000000004F280) (CSQLSource::Execute+00000000000003C0)
* 00000000015734B0 Module(sqlservr+00000000011734B0) (ExecuteSql+00000000000004D0)
* 0000000001540C90 Module(sqlservr+0000000001140C90) (CSpecProc::ExecuteSpecial+0000000000000730)
* 0000000001541F50 Module(sqlservr+0000000001141F50) (CSpecProc::Execute+00000000000001F0)
* 00000000009DD390 Module(sqlservr+00000000005DD390) (execrpc+0000000000001250)
* 0000000000452A30 Module(sqlservr+0000000000052A30) (process_commands+0000000000000760)
* 0000000000404240 Module(sqlservr+0000000000004240) (ProcessWorkRequests+0000000000000A00)
* 0000000000726430 Module(sqlservr+0000000000326430) (ThreadStartRoutine+0000000000000150)
* 000006FB7FAFE230 Module(msvcrt+000000000005E230) (tanhf+0000000000054550)
* 0000000077D24400 Module(kernel32+0000000000094400) (GetDateFormatW+0000000000070070)


屬性

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