FIX: Error 1203 If Deadlock Occurs During Concurrent ORDER BY DESC (175143)



The information in this article applies to:

  • Microsoft SQL Server 6.5 Service Pack 2 and later

This article was previously published under Q175143
BUG #: 17334 (6.5)

SYMPTOMS

If deadlocks occur during concurrent ORDER BY DESC queries, a 1203 error may occur and you receive the error message:
Caller of lock manager is incorrectly trying to unlock an unlocked object. spid=%d locktype=%d dbid=%d lockid=%Id

This may eventually destabilize the server and result in stuck locks. After the error 1203, you may see this as a chain of blocked spids that does not clear up even after you kill the spid at the head of the chain.

This is a regression starting with SQL Server version 6.5 Service Pack 2. The problem is not specific to multiprocessor computers.

WORKAROUND

Use standard techniques to reduce locking contention and deadlocks. This can include shortening transaction path length, using lower transaction isolation levels, eliminating extraneous indexes, or insuring that transactions acquire locks in the same order. Reducing usage of ORDER BY DESC queries may also help.

STATUS

Microsoft has confirmed this to be a problem in Microsoft SQL Server version 6.5 Service Pack 2. This problem was corrected in the latest Microsoft SQL Server 6.5 U.S. Service Pack. For information on obtaining the service pack, query on the following word in the Microsoft Knowledge Base (without the spaces):
   S E R V P A C K
				

Modification Type:MajorLast Reviewed:10/3/2003
Keywords:kbBug kberrmsg kbfix kbSQLServ650sp2bug kbusage KB175143 kbAudDeveloper