Article ID: 330307 - Last Review: September 5, 2007 - Revision: 9.6 FIX: Cross Database Query Fails with Error 3624 and an Assertion Occurs in the Dbtable.cpp File
This article was previously published under Q330307 BUG #: 362593 (Shiloh_bugs) SYMPTOMSIf you run a cross-database query, a retail assertion may
occur and the statement may not run. If you run a cross-database query in SQL
Query Analyzer, the query fails, and you may receive the following error
message: Server: Msg 3624, Level 20, State 1, Line 1 Location: dbtable.cpp:2608 Expression: status SPID: 51 Process ID: 2068 Connection Broken * 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'. CAUSETo improve performance and avoid excessive locking
operations, SQL Server 2000 caches database locks for each connection. The
cache size for storing database locks is fixed. If a cross-database query holds
several database locks, the additional database locks are not cached. However,
in some cases, when the cache is available, the database locks that are not
cached in the first place can be put back in the cache again. That is what
causes the retail assertion to occur. RESOLUTIONNote The following hotfix was created before the release of Microsoft
SQL Server 2000 Service Pack 3. To resolve this problem, obtain the latest service pack for SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base: 290211
(http://support.microsoft.com/kb/290211/EN-US/
)
INF: How to Obtain the Latest SQL Server 2000 Service Pack
A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, submit a request to Microsoft Customer Service and Support to obtain the hotfix. Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site: http://support.microsoft.com/contactus/?ws=support
(http://support.microsoft.com/contactus/?ws=support)
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language. The English version of this fix has the file
attributes (or later) that are listed in the following table. The dates and
times for these files are listed in coordinated universal time (UTC). When you
view the file information, it is converted to local time. To find the
difference between UTC and local time, use the Time Zone tab
in the Date and Time tool in Control Panel.
Date Time Version Size File name ---------------------------------------------------------------- 08-Oct-2002 10:14 2000.80.690.0 7,467,089 bytes Sqlservr.exe STATUS Microsoft
has confirmed that this is a problem in the Microsoft products that are listed
at the beginning of this article.
This problem was first corrected in SQL Server 2000 Service Pack 3. REFERENCESFor more information about SQL Server database locks and
blocking, visit the following Microsoft Web site: http://msdn2.microsoft.com/en-us/library/Aa178087(SQL.80).aspx (http://msdn2.microsoft.com/en-us/library/Aa178087(SQL.80).aspx)
| Other Resources Other Support Sites
CommunityGet Help NowArticle Translations
|





















Back to the top