Article ID: 315662 - View products that this article applies to.
This article was previously published under Q315662
BUG #: 356315 (SHILOH_BUGS)
A query that runs with parallelism enabled may experience an undetected deadlock with itself and never complete. However, a system server process ID (SPID) in this state will respond to a query timeout, or to the Transact-SQL KILL command.
To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
290211NOTE: The following hotfix was created before the release of Microsoft SQL Server 2000 Service Pack 3.
(http://support.microsoft.com/kb/290211/EN-US/ )INF: How To Obtain the Latest SQL Server 2000 Service Pack
The English version of this fix should have the following file attributes or later:
NOTE: Because of file dependencies, the most recent hotfix or feature that contains the files may also contain additional files.
Version File name --------------------------- 8.00.0558 Sqlservr.exe
Microsoft has confirmed that this is a problem in Microsoft SQL Server 2000.
This problem was first corrected in Microsoft SQL Server 2000 Service Pack 3.
After you apply the fix, SQL Server detects the deadlock and returns an error message (8650):
When this problem occurs, you must resubmit the query and use an OPTION (MAXDOP 1) hint, or you can disable parallelism for the server. If your application dynamically generates the queries, the application error handler can handle this error similar to a typical deadlock and automatically resubmit the query with the option hint.
Intra-query parallelism caused your server command (process ID #50) to deadlock. Rerun the query without intra-query parallelism by using the query hint option (maxdop 1).
Article ID: 315662 - Last Review: September 27, 2005 - Revision: 4.1