INF: Deadlocks and Timeouts| Article ID | : | 46435 | | Last Review | : | December 3, 2003 | | Revision | : | 3.1 |
This article was previously published under Q46435 SUMMARY
Deadlock should not be confused with waiting for access. In SQL
Server, there is no time-out period for deadlocks. One of the
participating processes is immediately aborted. The dbproc can still
be used. The effect is the same as though a trigger procedure caused a
ROLLBACK to be executed. Microsoft has confirmed this with two copies
of ISQL.
On the other hand, if a process requests a row that is being used by
another process, the first process will wait until the second process
releases the row. This is not a deadlock. A deadlock would occur if
the second process were also waiting for the first process (or any
closed loop of waiting processes). In the non-deadlock case, the
second process may release the row at any time, and the first process
will wait until it does (or until the user-specified time-out
expires). If dbsqlexec returns via time-out, the user-defined error
handler will be called with message 10003 and dbsqlexec will return
FAIL. The dbproc will be dead and must be reopened. Microsoft has
confirmed this, also. Also, remember to check your return codes.
APPLIES TO| • | Microsoft SQL Server 4.21a Standard Edition | | • | Microsoft SQL Server 6.0 Standard Edition | | • | Microsoft SQL Server 6.5 Standard Edition | | • | Microsoft SQL Server 7.0 Standard Edition |
Back to the top
| Other Support Options- Need More Help?
Contact a Support professional by E-mail, Online or Phone. - Customer Service
For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more. - Newsgroups
Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.
|
|