FIX: Regr:INSERT-EXEC rpc Generates 3307 on Constraint Violation

ID: Q199122


The information in this article applies to:
  • Microsoft SQL Server version 6.5 Service Pack 5 and 5a

BUG #: 18545 (SQLBUG_65)

SYMPTOMS

INSERT...EXEC rpc can generate error 3307 when moving data directly into a table having a constraint and the constraint check is violated.

This can lead to syslocks retaining a spid -1 lock on the inserted table and consequently blocking other processes accessing the table. Closing the importing process (for example, ISQL/W) has no effect on releasing the spid -1 lock. A repeat execution of the INSERT...EXEC rpc on the connection that received the 3307 error hangs the connection.

This problem is seen with SQL Server 6.5 Service Pack 5, and has not been observed with any previous Service Pack.


RESOLUTION

A supported fix that corrects this problem is now available from Microsoft, but it has not been fully regression tested and should be applied only to systems experiencing this specific problem. If you are not severely affected by this specific problem, Microsoft recommends that you wait for the next SQL Server service pack that contains this fix.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information on support costs, please go to the following address on the World Wide Web:

http://www.microsoft.com/support/supportnet/overview/overview.asp
The English version of this fix should have the following file attributes or later:

   Date      Time     Version    Size       File name      Platform
   ----------------------------------------------------------------

   1/14/99   3:51PM   6.50.419   2,496 KB   SQLSERVR.exe   Intel
   1/14/99   3:51PM   6.50.419   3,226 KB   SQLSERVR.dbg   Intel
   1/14/99   2:33PM   6.50.419     148 KB   opends60.dll   Intel
   1/14/99   2:33PM   6.50.419     260 KB   opends60.dll   Intel

   1/14/99   3:51PM   6.50.419   3,952 KB   SQLSERVR.exe   Alpha
   1/14/99   3:51PM   6.50.419   4,623 KB   SQLSERVR.dbg   Alpha
   1/14/99   2:34PM   6.50.419     156 KB   opends60.dll   Alpha
   1/14/99   2:34PM   6.50.419     257 KB   opends60.dll   Alpha 
NOTE: Due to file dependencies, the most recent hotfix or feature that contains the above files may also contain additional files.



WORKAROUND

To correct the spid -1 lock state, the SQL Server will need to be stopped and restarted.

Use the following to prevent further occurrences/>

  • Remove the Constraints on the destination table.

    -or-


  • Make sure that Referential Integrity will not be violated before inserting.

    -or-


  • Use INSERT...EXEC into a table without Declarative Referential Integrity (DRI) specified and then use INSERT...SELECT to move the data into the final table.

    -or-


  • Apply the hotfix.

    -or-


  • Move to SQL Server 7.0.

    -or-


  • Rollback to an earlier Service Pack for SQL Server 6.5.



STATUS

Microsoft has confirmed this to be a problem in SQL Server version 6.5 Service Pack 5 (that is, build 6.50.415).


MORE INFORMATION

This problem does not occur on SQL Server 7.0.

Additional query words:

Keywords : kbSQLServ650sp5bug
Version : winnt:6.5 Service Pack 5 and 5a
Platform : winnt
Issue type : kbbug


Last Reviewed: November 3, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.