FIX: Insert/Update May Cause Client to Stop Responding (164690)
The information in this article applies to:
This article was previously published under Q164690
BUG #: 16625 (SQLBUG_65)
SYMPTOMS
An insert or an update operation to a table with clustered index may cause
the computer to stop responding with waittype 0x0013 (exclusive resource
lock) on a SMP computer. This scenario usually involves at least two
processes. Process A is being blocked (with waittype 0x8006 or 0x0006) by
process B. Process B is not being blocked by anything, but has waittype
0x0013 in master..sysprocesses. Neither process can complete until one of
them is killed.
CAUSE
On a multi-processor computer (SMPStat>1), when an insert or update is
performed on a table with clustered index, it acquires SH_PAGE locks on
some of the data pages involved as it scans through and checks on
duplicated rows. If any page it needs was being EX_PAGE locked by other
processes, this insert or update process would go to sleep until the
SH_PAGE lock is available. If another process comes in and performs an
insert, update, or delete (which in turn causes the index to split or
shrink) that needs to acquire an exclusive resource lock on the same
clustered index page, it is blocked by the first process because it is
still holding the shared resource lock. This causes the computer to stop
responding with waittype 0x0013 and other blocking symptoms.
WORKAROUND
To work around this problem, change the clustered index to a nonclustered
index.
STATUS
Microsoft has confirmed this to be a problem in SQL Server 6.5. This problem has been corrected in Service Pack 5a for Microsoft SQL Server 6.5.For more information, click the following article number to view the article in the Microsoft Knowledge Base: 197177 INF: How to Obtain SQL Server 6.5 Service Pack 5a For more information, contact your primary support provider.
Modification Type: | Major | Last Reviewed: | 3/14/2006 |
---|
Keywords: | kbBug kbfix kbnetwork kbusage KB164690 |
---|
|