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