FIX: SQL Terminates on Delete Table with 15 Self-References

ID: Q154047


The information in this article applies to:


SYMPTOMS

Trying to delete a table that contains 15 self-references can cause the system to return the following errors and warnings:

Error : 1202, Severity: 20, State: 2
Table_lock was called with illegal mode 0.

WARNING: Process being freed while holding Dataserver semaphore

udwritem: Operating system error 6(The handle is invalid.) on device
'C:\MSSQL\DATA\MASTER.DAT' (virtpage 0x00002739).

udread: Operating system error 6(The handle is invalid.) on device
'C:\MSSQL\DATA\MASTER.DAT' (virtpage 0x00000394).

Error: 5157, Severity: 20, State: 0
Recursive error 1202 in ex_print

This action also results in an unhandled exception, essentially terminating the server.


WORKAROUND

The workaround for this problem is to avoid having more than 14 self- references on a table. Establish another table that can contain the additional required references.


STATUS

Microsoft has confirmed this to be a problem in Microsoft SQL Server version 6.5. This problem has been corrected in U.S. Service Pack 1 for Microsoft SQL Server version 6.5. For more information, contact your primary support provider.


MORE INFORMATION

This problem is specific to 15 self-references and hence is extremely uncommon.

NOTE: If a default debugger is set up, it will generate a debug log (like Dr. Watson log).

Additional query words: server dies foreign key dri


Keywords          : kbbug6.50 kbfix6.50.sp1 
Version           : 6.5
Platform          : WINDOWS 
Issue type        : 

Last Reviewed: April 1, 1999