Microsoft KB Archive/159782

= FIX: Concurrent CREATE TABLE & ALTER TABLE May Cause Deadlock =

Article ID: 159782

Article Last Modified on 11/14/2003

-

APPLIES TO


 * Microsoft SQL Server 4.21a Standard Edition
 * Microsoft SQL Server 6.0 Standard Edition
 * Microsoft SQL Server 6.5 Standard Edition

-



This article was previously published under Q159782



BUG #: 16016 (WINDOWS: 6.50)



SYMPTOMS
If you perform a CREATE TABLE and an ALTER TABLE ADD CONSTRAINT concurrently, you may receive deadlocks on system tables.



WORKAROUND
To work around this problem, place the ALTER TABLE in a user transaction preceded by a SELECT (UPDLOCK) on syscolumns and sysindexes, as shown below:

begin tran select count(*) from syscolumns(UPDLOCK) where id=object_id('TT1a') select count(*) from sysindexes(UPDLOCK) where id=object_id('TT1a') alter table TT1a add constraint TT1idx1a PRIMARY KEY (a, b, c, d, e, f,  g, h)   commit tran



STATUS
Microsoft has confirmed this to be a problem in Microsoft SQL Server versions 4.2x, 6.0, and 6.5. This problem has been corrected in U.S. Service Pack 2 for Microsoft SQL Server version 6.5. For more information, contact your primary support provider.

Additional query words: LOCK BLOCK

Keywords: kbbug kbfix kbusage KB159782

-

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

© Microsoft Corporation. All rights reserved.