The information in this article applies to:
BUG #: 17945 (6.5) SYMPTOMSUnder extremely narrow conditions, query cancellation can fail, causing a query to continue running on the server. During this interval the client will wait on the cancel API call. When the query completes, the server will acknowledge (ACK) the cancel to the client, which falls off the wait and continues. WORKAROUNDYou can avoid the problem by inserting an approximately 50-millisecond delay before the query cancellation. STATUSMicrosoft has confirmed this to be a problem in SQL Server
version 6.5. This problem has been corrected in U.S. Service Pack 5a
for Microsoft SQL Server version 6.5. For information about
downloading and installing the latest SQL Server Service Pack, see
http://support.microsoft.com/support/sql/.
MORE INFORMATION
From an API standpoint, query cancellation is done through the ODBC calls
SQLCancel() or SQLFreeStmt(), or the DB-Library call dbcancel().
Detailed DescriptionThe following is a detailed description of the mechanism of the problem. The client (running on a local server) sends a query and immediately cancels. The cancel results in writefile() on client, followed almost immediately by readfile(), waiting for ACK. The server continues running the query, and does not ACK the client, which causes the client to wait. The duration of the wait is proportional to the query running time: the bigger the table, the longer the wait. After the query completes, the ACK is sent and the client drops off of the wait.Additional query words:
Keywords : kbbug6.50 kbfix6.50.SP5 |
Last Reviewed: November 17, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |