文章編號: 330307 - 上次校閱: 2007年9月5日 - 版次: 9.6

FIX: 交互資料庫查詢失敗,錯誤 3624 且 Dbtable.cpp 檔案中發生的判斷提示已

可以下載 Hotfix下載 Hotfix
檢視和要求下載 hotfix
系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
BUG #: 362593 (Shiloh_bugs)
全部展開 | 全部摺疊

徵狀

如果您在執行跨資料庫查詢而且可能會發生零售判斷提示陳述式可能無法執行。如果查詢您在 SQL Query Analyzer 中執行跨資料庫查詢,失敗,而您可能會收到下列錯誤訊息:

伺服器: 訊息 3624,20,層級狀態 1,行 1

位置: dbtable.cpp:2608
運算式: 狀態
SPID: 51
處理序 ID: 2068年

[中斷連線
您可能會看到下列的簡短堆疊在 SQL Server 錯誤記錄檔中:
* Short Stack Dump
* 0085CF85 Module(sqlservr+0045CF85) (CStackDump::GetContextAndDump+0000002E Line 1855+00000000)
* 0085EB58 Module(sqlservr+0045EB58) (stackTrace+00000216 Line 4139+00000000)
* 00919D41 Module(sqlservr+00519D41) (utassert_fail+000002E3 Line 452+00000010)
* 007F0D41 Module(sqlservr+003F0D41) (DBLockCache::ReleaseDBLock+000000C6 Line 2608+0000001B)
* 007F0ED9 Module(sqlservr+003F0ED9) (unlockdb+00000024 Line 2781+00000000)
* 0084C2CA Module(sqlservr+0044C2CA) (XdesRMReadOnly::~XdesRMReadOnly+00000075 Line 8233+0000000A)
* 0083F0C5 Module(sqlservr+0043F0C5) (ReadOnlyXactImp::Rollback+0000009B Line 853+0000000C)
* 0083EF94 Module(sqlservr+0043EF94) (ReadOnlyXactImp::Commit+00000030 Line 778+00000007)
* 004D3E68 Module(sqlservr+000D3E68) (CMsqlReadOnlyXact::Commit+0000000F Line 2719+00000000)
* 004D2C2B Module(sqlservr+000D2C2B) (CMsqlXact::Commit+0000009E Line 670+00000000)
* 004D3B16 Module(sqlservr+000D3B16) (CAutoMsqlXact::CommitNestedXact+00000062 Line 2154+00000000)
* 0048AACA Module(sqlservr+0008AACA) (CProchdr::FCompile+000011B6 Line 1300+00000000)
* 004A3C73 Module(sqlservr+000A3C73) (CSQLSource::FTransform+0000034C Line 885+00000012)
* 004A4AE8 Module(sqlservr+000A4AE8) (CSQLStrings::FTransform+000001A1 Line 1644+0000000A)
* 004A41D9 Module(sqlservr+000A41D9) (CSQLSource::Execute+0000015B Line 1136+0000000B)
* 0053A208 Module(sqlservr+0013A208) (language_exec+000003E1 Line 690+00000000)
* 0053B0B1 Module(sqlservr+0013B0B1) (process_commands+000000EC Line 1711+00000006)
* 41073379 Module(ums+00003379) (ProcessWorkRequests+0000024A)
* 41073071 Module(ums+00003071) (ThreadStartRoutine+000000BD)
* 7800C9EB Module(MSVCRT+0000C9EB) (beginthread+000000CE)
* 77E887DD Module(KERNEL32+000087DD) (GetModuleFileNameA+000001D1)
* -------------------------------------------------------------------------------
2002-10-17 11:23:26.49 spid51    SQL Server Assertion: File: <dbtable.cpp>, line=2608 
Failed Assertion = 'status'.
				
當 SQL Server 會嘗試清除造成原始的判斷提示的連線時,錯誤後面跟著各種不同的例外狀況和症狀傾印。

發生的原因

若要改善效能,並避免過多的鎖定作業,SQL Server 2000 會快取每個連線的資料庫鎖定。儲存資料庫鎖定的快取大小被固定的。如果跨資料庫查詢持有數個資料庫鎖定,其他資料庫鎖定不會快取。不過,在某些情況下當快取位於資料庫鎖定,不會快取一開始可以是讓回快取中一次。這就是零售判斷提示發生的原因。

解決方案

附註Microsoft SQL Server 2000 Service Pack 3 發行之前建立下列的 Hotfix。

如果要解決這個問題,取得最新的 Service Pack,SQL Server 2000。如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
290211? (http://support.microsoft.com/kb/290211/EN-US/ ) INF: 如何取得最新的 SQL Server 2000 Service Pack
Microsoft 提供支援的 Hotfix。不過,此 Hotfix 旨在修正本文中所述隨問題。只會發生此特定問題的系統套用此 Hotfix。

如果此 Hotfix 可供下載,您可在本知識庫文件的頂端找到「 可用的 Hotfix 下載 」區段。如果沒有出現此區段,將要求提交到 Microsoft 客戶服務及支援],以取得該 Hotfix。

附註如果發生其他問題,或如果需要任何疑難排解,您可能必須建立個別的服務要求。和此 Hotfix 無關的額外支援問題適用一般的支援費用。如需 Microsoft 客戶服務支援部門電話號碼的完整清單或要建立個別的服務要求,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
附註「 下載 Hotfix 」 表單會顯示此 Hotfix 會出現,以供使用的語言。如果您沒有看到您的語言,是因為此 Hotfix 是不適用您的語言。此修正程式的英文版具有檔案屬性 (或更新) 中如下表所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用 [中日期] 和 [時間] 工具,在 [控制台] 中的 [時區] 索引標籤]。
   Date         Time   Version        Size             File name
   ----------------------------------------------------------------
   08-Oct-2002  10:14  2000.80.690.0  7,467,089 bytes  Sqlservr.exe 
附註由於檔案相依性最新版 Hotfix 或包含這些檔案的功能也可能包含其他檔案。


狀況說明

Microsoft 已確認這是在本文開頭所列之 Microsoft 產品中的問題。

這個問題已經先在 SQL Server 2000 Service Pack 3 中獲得修正。

?考

如需有關 SQL Server 資料庫鎖定與封鎖的詳細資訊,請造訪下列 Microsoft 網站:
http://msdn2.microsoft.com/en-us/library/Aa178087(SQL.80).aspx (http://msdn2.microsoft.com/en-us/library/Aa178087(SQL.80).aspx)

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