Microsoft KB Archive/317973

= FIX: Abort by DTC Transaction Timeout Not Recognized on a Client Application =

Article ID: 317973

Article Last Modified on 9/27/2005

-

APPLIES TO


 * Microsoft SQL Server 2000 Standard Edition

-



This article was previously published under Q317973



BUG #: 356603 (SHILOH_BUGS)



SYMPTOMS
When a timeout of a Distributed Transaction Coordinator (DTC) transaction occurs, an OLEDB client application may not recognize that a DTC transaction aborted. Being unaware of the DTC transaction abortion, the client application continues to execute updateable queries without error. Because the client application does not know the first query did not commit, the transaction is inconsistent in executing unexpected INSERTs, UPDATEs or DELETEs.



CAUSE
The SQL Server OLEDB provider executes the sp_reset_connection stored procedure, which clears the status of the connection.



RESOLUTION
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:   Date          Time      Version      Size               File name ---

01/02/2002    12:15     8.00.576     7,442,513 bytes    Sqlservr.exe NOTE: Because of ile dependencies, the most recent hotfix or feature that contains the files may also contain additional files.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

This problem was first corrected in Microsoft SQL Server 2000 Service Pack 3.



MORE INFORMATION
If the sp_reset_connection stored procedure does not execute after the DTC transaction aborts, other error messages occur; therefore, the problem described in the &quot;Symptoms&quot; section does not occur. However, if the sp_reset_connection stored procedure executes, the connection can handle queries without error. Thus, updateable queries that execute after the DTC transaction aborts execute outside the DTC transaction. For example, the following steps cause the problem to occur:
 * 1) DTC transaction starts.
 * 2) First insert starts.
 * 3) First insert ends.
 * 4) DTC transaction aborts.
 * 5) The sp_reset_connection stored procedure executes.
 * 6) Second insert starts.
 * 7) Second insert ends.

Keywords: kbbug kbfix kbsqlserv2000presp3fix kbqfe kbsqlserv2000sp3fix kbhotfixserver KB317973

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.