This article was previously published under Q315662
This article has been archived. It is offered "as is" and will no longer be updated.
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:
290211 INF: How To Obtain the Latest SQL Server 2000 Service Pack
NOTE: The following hotfix was created before the release of Microsoft SQL Server 2000 Service Pack 3.
The English version of this fix should have the following file attributes or later:
Version File name --------------------------- 8.00.0558 Sqlservr.exe
NOTE: Because of file dependencies, the most recent hotfix or feature that contains the files may also contain additional files.
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):
Msg 8650: 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).
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.