Microsoft KB Archive/219416

= FIX: Duplicate Hash Keys Erroneously Generated for Two Distinct Index Key Values =

Article ID: 219416

Article Last Modified on 3/14/2006

-

APPLIES TO


 * Microsoft SQL Server 7.0 Standard Edition

-



This article was previously published under Q219416



BUG #: 53834 (SQLBUG_70)



SYMPTOMS
Two or greater SQL DML statements issued from different SQL connections, where each connection has its own lock space, experience erroneous blocking or deadlocking for a given index key lock.



CAUSE
When SQL Server places a lock on an index key, the key is "hashed down" to a 6-byte "lock resource", which is used by the lock manager to lock the respective key in the required mode. In this case, a duplicate hash value was incorrectly generated for two distinctly different index keys when taking a key lock in an index.

This can cause a SQL DML statement to block erroneously if a collision occurs between a valid and errant hash value and their respective lock modes are incompatible.

This problem will only manifest itself with key locks.

The net effect of this bug is that the server is overlocking. It is important to note that data integrity is not compromised in any way.



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

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

For more information, contact your primary support provider.

Additional query words: DEADLOCK BLOCK HASH KEY LOCK 1204 1200 1205

Keywords: kbbug kbfix kbsqlserv700sp1fix KB219416

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.