Microsoft KB Archive/258198

From BetaArchive Wiki
Knowledge Base


FIX: Error Message 8630 Occurs When Updates are Performed to a Table with Compound Keys

Article ID: 258198

Article Last Modified on 3/14/2006



APPLIES TO

  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 7.0 Service Pack 2



This article was previously published under Q258198

BUG #: 57752 (SQLBUG_70)
BUG #: 57753 (SQLBUG_70)

SYMPTOMS

A table with compound keys, which has a Primary key constraint with a nonclustered index and foreign key constraints, returns an 8630 error message during an update:

Server: Msg 8630, Level 17, State 38
Internal Query Processor Error: The query processor encountered an unexpected error during execution.

WORKAROUND

To work around the problem you can change any one of these items on the table definition:

  • Make the index for the Primary key clustered instead of nonclustered.


  • Create a surrogate Primary key on the table or pick another candidate key as your Primary key on the table.


  • Drop the foreign key constraint on the table.


STATUS

Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 3 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

274799 INF: How to Obtain Service Pack 3 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0


For more information, contact your primary support provider.

MORE INFORMATION

The table must have all of the constraints that follow defined to demonstrate the problem:

PRIMARY KEY NONCLUSTERED (Col1,Col2,...,Coln),
FOREIGN KEY (Col1,Col2,...,Coln) REFERENCES Tab2(Col1,Col2,...,Coln)
                

The update will not fail with the 8630 error if:

  • The key is not a compound key.


-or-

  • The foreign key or Primary key constraints are missing.


-or-

  • The Primary key index is clustered.



Additional query words: 8630

Keywords: kbbug kbfix KB258198