Microsoft KB Archive/841401

= FIX: You may notice incorrect values for the &quot;Active Transactions&quot; counter when you perform multiple transactions on an instance of SQL Server 2000 that is running on an SMP computer =

Article ID: 841401

Article Last Modified on 11/2/2007

-

APPLIES TO


 * Microsoft SQL Server 2000 Developer Edition
 * Microsoft SQL Server 2000 Standard Edition
 * Microsoft SQL Server 2000 Enterprise Edition
 * Microsoft SQL Server 2000 Personal Edition
 * Microsoft SQL Server 2000 Enterprise Edition
 * Microsoft SQL Server 2000 Workgroup Edition
 * Microsoft SQL Server 2000 Desktop Engine (Windows)
 * Microsoft SQL Server 2000 Developer Edition
 * Microsoft SQL Server 2000 Enterprise Edition 64-bit

-



Bug #: 362810 (SQL Server 8.0)



Microsoft distributes SQL Server 2000 fixes as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2000 fix release.



SYMPTOMS
On a symmetric multiprocessor (SMP) computer that is running Microsoft SQL Server 2000, you may notice the following behavior in the Windows Performance Monitor when you perform multiple transactions on an instance of SQL Server 2000:
 * The values for the Active Transactions counter for the _Total instance of the SQL Server:Databases object are not correct. You may also notice that the values are very large and unrealistic.
 * The values for the Active Transactions counter for the instances that correspond to individual databases are correct.



Service pack information
To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 How to obtain the latest SQL Server 2000 service pack

Hotfix information
The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.   Date         Time   Version            Size    File name -  23-Apr-2004  03:22  2000.80.935.0     664,128  Autoplt.dll 23-Apr-2004 03:22  2000.80.935.0      78,400  Console.exe 23-Apr-2004 03:22  2000.80.935.0     315,968  Custtask.dll 23-Apr-2004 03:22  2000.80.935.0      33,340  Dbmslpcn.dll 08-Apr-2004 09:12                    786,432  Distmdl.ldf 08-Apr-2004 09:12                  2,359,296  Distmdl.mdf 10-Oct-2003 06:18                        180  Drop_repl_hotfix.sql 23-Apr-2004 03:22  2000.80.935.0   1,905,216  Dtspkg.dll 23-Apr-2004 03:22  2000.80.935.0     528,960  Dtspump.dll 23-Apr-2004 03:22  2000.80.935.0   1,557,052  Dtsui.dll 23-Apr-2004 03:22  2000.80.935.0     639,552  Dtswiz.dll 10-Oct-2003 06:18                    747,927  Instdist.sql 10-Oct-2003 06:18                      1,581  Inst_repl_hotfix.sql 23-Apr-2004 03:22  2000.80.935.0      82,492  Itwiz.exe 23-Apr-2004 03:22  2000.80.935.0      90,692  Msgprox.dll 23-Apr-2004 03:22  2000.80.935.0      62,024  Odsole70.dll 23-Apr-2004 03:23  2000.80.935.0      25,144  Opends60.dll 23-Apr-2004 03:22  2000.80.935.0      57,904  Osql.exe 23-Apr-2004 03:22  2000.80.935.0     279,104  Pfutil80.dll 10-Oct-2003 06:07                    550,780  Procsyst.sql 08-Apr-2004 09:12                     12,305  Qfe469315.sql 08-Apr-2004 09:12                     19,195  Qfe469571.sql 22-Apr-2004 09:51                  1,104,848  Replmerg.sql 23-Apr-2004 03:22  2000.80.935.0     221,768  Replprov.dll 23-Apr-2004 03:22  2000.80.935.0     307,784  Replrec.dll 22-Apr-2004 10:00  2000.80.935.0     159,813  Replres.rll 10-Oct-2003 06:18                  1,087,150  Replsys.sql 10-Oct-2003 06:18                    986,603  Repltran.sql 23-Apr-2004 03:22  2000.80.935.0     287,304  Rinitcom.dll 23-Apr-2004 03:22  2000.80.935.0      66,112  Semmap.dll 23-Apr-2004 03:22  2000.80.935.0      57,916  Semnt.dll 23-Apr-2004 03:22  2000.80.935.0     492,096  Semobj.dll 22-Apr-2004 10:39  2000.80.935.0     172,032  Semobj.rll 23-Apr-2004 03:22  2000.80.935.0      53,832  Snapshot.exe 11-Mar-2004 14:40                    117,834  Sp3_serv_uni.sql 23-Apr-2004 03:21  2000.80.935.0      28,672  Sqlagent.dll 23-Apr-2004 03:22  2000.80.935.0     311,872  Sqlagent.exe 23-Apr-2004 03:21  2000.80.935.0     168,001  Sqlakw32.dll 23-Apr-2004 03:22  2000.80.935.0      33,344  Sqlctr80.dll 23-Apr-2004 03:22  2000.80.935.0   4,215,360  Sqldmo.dll 23-Apr-2004 03:22                     25,172  Sqldumper.exe 22-Apr-2004 09:47  2000.80.935.0      28,672  Sqlevn70.rll 23-Apr-2004 03:22  2000.80.935.0     180,792  Sqlmap70.dll 23-Apr-2004 03:22  2000.80.935.0     188,992  Sqlmmc.dll 22-Apr-2004 10:43  2000.80.935.0     479,232  Sqlmmc.rll 23-Apr-2004 03:22  2000.80.935.0     401,984  Sqlqry.dll 23-Apr-2004 03:22  2000.80.935.0      57,920  Sqlrepss.dll 23-Apr-2004 03:23  2000.80.935.0   7,577,681  Sqlservr.exe 23-Apr-2004 03:22  2000.80.935.0     590,396  Sqlsort.dll 23-Apr-2004 03:22  2000.80.935.0      45,644  Sqlvdi.dll 23-Apr-2004 03:22  2000.80.935.0     106,588  Sqsrvres.dll 23-Apr-2004 03:22  2000.80.935.0      33,340  Ssmslpcn.dll 23-Apr-2004 03:22  2000.80.935.0      82,492  Ssnetlib.dll 23-Apr-2004 03:23  2000.80.935.0      25,148  Ssnmpn70.dll 23-Apr-2004 03:23  2000.80.935.0     123,456  Stardds.dll 23-Apr-2004 03:23  2000.80.935.0     158,240  Svrnetcn.dll 23-Apr-2004 03:22  2000.80.935.0      76,416  Svrnetcn.exe 23-Apr-2004 03:23  2000.80.935.0      49,228  Ums.dll 23-Apr-2004 03:23  2000.80.935.0      98,872  Xpweb70.dll Note Because of file dependencies, the most recent hotfix or feature that contains these files may also contain additional files.



WORKAROUND
If the counters that are mentioned in the &quot;Symptoms&quot; section are used by custom applications, you can use the following work around to resolve the problem:
 * Calculate the sum of the values for the Active Transactions counter for the instances that correspond to individual databases. This sum is the actual value of the Active Transactions counter for the _Total instance.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section. This problem was first corrected in Microsoft SQL Server 2000 Service Pack 4.



Steps to reproduce the behavior
To reproduce the behavior, follow these steps on an SMP computer that is running SQL Server:   In SQL Query Analyzer, connect to an instance of SQL Server to open a query window, and then paste the following code in the query window: -- Transaction for the first connection while (1=1) begin begin tran update pubs..authors set au_id=au_id rollback end   In SQL Query Analyzer, connect to the instance of SQL Server that is mentioned in step 1, and then paste the following code in the query window: -- Transaction for the second connection while (1=1) begin begin tran update Northwind..Categories set Description=Description rollback end   In SQL Query Analyzer, connect to the instance of SQL Server that is mentioned in step 1, and then paste the following code in the query window: -- Transaction for the third connection while (1=1) begin begin tran update pubs..authors set au_id=au_id update Northwind..Categories set Description=Description rollback end  Run the code that is mentioned in step 1, in step 2, and in step 3.</li> Add the required counters in the Windows Performance Monitor to view the values. To do this, follow these steps: <ol style="list-style-type: lower-alpha;"> Click Start, and then click Run.</li> In the Open box, type perfmon, and then click OK.</li> Right-click in the right pane of the Performance window, and then click Add Counters.</li> In the Add Counters dialog box, select SQL Server:Databases from the Performance object list.</li> Select the Active Transactions counter from the list of counters.</li> Select the _Total, the Northwind, and the Pubs instances from the list of instances, and then click Add.</li> In the Add Counters dialog box, click Close.</li></ol> </li></ol>

In the right pane of the Performance window, you may notice incorrect values in the Average box and in the Maximum box. You may also notice that the values are much larger than the sum of the Active Transactions counters for the individual database instances.

<div class="references_section">