FIX: CPU usage of .NET Framework application increases unexpectedly when the connection to the DTC service on an instance of SQL Server is lost in the .NET Framework 2.0


Symptoms


Consider the following scenario:
  • You run a .NET Framework application that targets the Microsoft .NET Framework 2.0.
  • The .NET Framework application uses the Microsoft Distributed Transaction Coordinator (DTC) service to send transactions to a back-end instance of Microsoft SQL Server.
  • The connection to the DTC service on the instance of SQL Server is lost intermittently.

In this scenario, when the connection to the DTC service is lost, the CPU usage of the web service increases unexpectedly. The CPU usage may increase to 100 percent.

Cause


This problem occurs because the System.Data.SqlClient.SqlDataReader.ConsumeMetaData function loops constantly when the connection to the DTC service is lost.

Resolution


To resolve this problem, apply this hotfix. After the hotfix is applied, a TimeoutException error is thrown when the problem in this scenario occurs. To prevent this problem after the hotfix is applied, create an error routine to catch the TimeoutException error.

Hotfix information

A supported hotfix is now available from Microsoft. However, it is intended to correct only the problem that is described in this article. Apply it only to systems that are experiencing this specific problem. This hotfix may receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

To resolve this problem immediately, contact Microsoft Customer Support Services to obtain the hotfix. For a complete list of Microsoft Customer Support Services telephone numbers and information about support costs, visit the following Microsoft website:Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

Prerequisites

You must have the Microsoft .NET Framework 3.5.1 installed on one of the following Windows operating systems to apply this hotfix:
  • Windows 7
  • Windows Server 2008 R2
Note The .NET Framework 3.5.1 includes the .NET Framework 2.0 Service Pack 2.

Restart information

You do not have to restart the computer after you install this hotfix rollup if the affected files are not being used.

We recommend that you close all .NET Framework applications before you install this hotfix.

File information

The English (United States) version of this hotfix installs files that have the attributes that are listed in the following tables. The dates and the times for these files are listed in Coordinated Universal Time (UTC). The dates and the times for these files on your local computer are displayed in your local time together with your current daylight saving time (DST) bias. Additionally, the dates and the times may change when you perform certain operations on the files.
For all supported x86-based versions of Windows 7
File nameFile versionFile sizeDateTimePlatform
System.data.dll2.0.50727.56762,927,61601-Jun- 201123:51x86

For all supported x64-based versions of Windows 7 and of Windows Server 2008 R2
File nameFile versionFile sizeDateTimePlatform
System.data.dll2.0.50727.56763,096,06401-Jun- 201123:50x64
System.data.dll2.0.50727.56762,927,61601-Jun-201123:51x86

For all supported IA-64-based versions of Windows Server 2008 R2
File nameFile versionFile sizeDateTimePlatform
System.data.dll2.0.50727.56763,234,81601-Jun-201123:44IA-64
System.data.dll2.0.50727.56762,927,61601-Jun-201123:51x86

Note Because of file dependencies, the most recent fix that contains these files may also contain additional files.


Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Additional file information for Windows 7 and for Windows Server 2008 R2

Additional files for all supported x86-based versions of Windows 7
File nameX86_system.data_b77a5c561934e089_6.1.7600.20978_none_524ec2c28a2501bf.manifest
File versionNot applicable
File size3,775
Date (UTC)03-Jun-2011
Time (UTC) 06:26

Additional files for all supported x64-based versions of Windows 7 and of Windows Server 2008 R2
File nameAmd64_system.data_b77a5c561934e089_6.1.7600.20978_none_0aa18beb75a8d8b9.manifest
File versionNot applicable
File size3,779
Date (UTC)03-Jun-2011
Time (UTC) 22:34
File nameX86_system.data_b77a5c561934e089_6.1.7600.20978_none_524ec2c28a2501bf.manifest
File versionNot applicable
File size3,775
Date (UTC)03-Jun-2011
Time (UTC)06:26

Additional files for all supported IA-64-based versions of Windows Server 2008 R2
File nameIa64_system.data_b77a5c561934e089_6.1.7600.20978_none_524ea0848a2539a3.manifest
File versionNot applicable
File size3,778
Date (UTC)03-Jun-2011
Time (UTC) 22:30
File nameX86_system.data_b77a5c561934e089_6.1.7600.20978_none_524ec2c28a2501bf.manifest
File versionNot applicable
File size3,775
Date (UTC)03-Jun-2011
Time (UTC)06:26