Microsoft KB Archive/262541

= BUG: Query Against Linked Server Might Cause Access Violation When the Name of One Unique Index is a Part of Another Unique Clustered Index =

Article ID: 262541

Article Last Modified on 10/16/2002

-

APPLIES TO


 * Microsoft SQL Server 7.0 Standard Edition

-



This article was previously published under Q262541



BUG #:57611 (SQLBUG_70)



SYMPTOMS
A SELECT statement that uses the four-part name against a linked server, might generate an access violation if all of the following conditions are met:
 * The OLE DB provider for ODBC Driver is chosen to create the linked server.


 * The name of one unique index (for example, PK_index) is a shortened name of another unique clustered index (for example, PK_index_1__14) on the same table.


 * The unique clustered index includes the columns from the other unique index as part of its key.

The query fails with an error message similar to the following:

ODBC: Msg 0, Level 19, State 1

SqlDumpExceptionHandler: Process 8 generated fatal exception c0000005

EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.

Connection Broken

The short stack trace seen in the errorlog for the preceding spid is: 0x00574b4c Module(sqlservr+174b4c) (CTableMetadata::GatherGroupProperties+290) 0x00622298 Module(sqlservr+222298) (CTableMetadata::LoadMetadata+19c) 0x006221ac Module(sqlservr+2221ac) (CCvtTree::LoadAllMetadata+7c) 0x00620888 Module(sqlservr+220888) (CCvtTree::PqryFromTree+dec) 0x00621d5c Module(sqlservr+221d5c) (BuildQueryFromTree+8c) 0x00621ef0 Module(sqlservr+221ef0) (CStmtQuery::InitQuery+184) 0x00619b08 Module(sqlservr+219b08) (CStmtSelect::Init+cc) 0x0052266c Module(sqlservr+12266c) (CCompPlan::FCompileStep+b98) 0x004cf1a8 Module(sqlservr+cf1a8) (CProchdr::FCompile+7f0) 0x004e0580 Module(sqlservr+e0580) (CSQLSource::FTransform+384) 0x004e0100 Module(sqlservr+e0100) (CSQLStrings::FTransform+208) 0x004c04ec Module(sqlservr+c04ec) (CSQLStrings::Compile+8c) 0x004e5180 Module(sqlservr+e5180) (CStmtPrepQuery::CStmtPrepQuery+478) 0x004ea238 Module(sqlservr+ea238) (CCompPlan::FCompileStep+184) 0x004cf1a8 Module(sqlservr+cf1a8) (CProchdr::FCompile+7f0) 0x004e0580 Module(sqlservr+e0580) (CSQLSource::FTransform+384) 0x004e0100 Module(sqlservr+e0100) (CSQLStrings::FTransform+208) 0x004de68c Module(sqlservr+de68c) (CSQLSource::Execute+14c) 0x004dec24 Module(sqlservr+dec24) (language_exec+638) 0x41066ea4 Module(opends60+6ea4) (execute_event+7a0) 0x41067524 Module(opends60+7524) (process_commands+144) 0x410a3620 Module(ums+3620) (ProcessWorkRequests+154) 0x410a2af0 Module(ums+2af0) (ThreadStartRoutine+16c) 0x780168e8 Module(MSVCRT+168e8) (endthread+fc) 0x77e6cc48 Module(KERNEL32+cc48) (lstrcmpiW+128) 2000-05-26 11:58:36.76 spid8   CImageHelper::GetSym Error - The specified Module could not be found. 2000-05-26 11:58:38.39 spid8   Error: 0, Severity: 19, State: 0 2000-05-26 11:58:38.39 spid8   language_exec: Process 8 generated an access violation. SQL Server is terminating this process. 2000-05-28 11:00:43.96 spid8   Using 'sqlimage.dll' version '4.0.5' Stack Dump being sent to C:\MSSQL7\log\SQL00002.dmp 2000-05-28 11:01:03.65 spid8   Error: 0, Severity: 19, State: 0 2000-05-28 11:01:03.65 spid8   SqlDumpExceptionHandler: Process 8 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.



WORKAROUND
To work around this problem you can either:
 * Select the OLE DB provider for SQL Server to create the linked server.

-or-


 * Change the index name.



STATUS
Microsoft has confirmed this to be a problem in SQL Server 7.0.

Keywords: kbbug kbpending KB262541

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.