FIX: 您可能会发现 SQL Server 2000 在 SMP 计算机上运行的实例上执行多个交易记录时为活动的事务计数器的值不正确

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 841401
本文已归档。它按“原样”提供,并且不再更新。
错误 #: 362810 (SQL Server 8.0)

Microsoft 分布 SQL Server 2000 修复程序作为一个可下载的文件。因为该修补程序是累积性的因此每个新版本包含的所有修补程序和所有安全修复程序以前 SQL Server 2000 中包含的修补都程序版本。
症状
对称多处理器 (SMP) 的计算机上运行的 Microsoft SQL Server 2000,您可能会注意到以下行为在 Windows 性能监视器中的 SQL Server 2000 实例上执行多个交易记录时:
  • 活动事务 计数器的 _Total 实例 SQL Server:Databases 对象的值不正确。您可能还会注意到的值是非常大而且不切实际。
  • 对应于每个数据库实例的 活动事务 计数器的值都是正确的。
解决方案

服务包信息

若要解决此问题,获得最新的 service pack,对于 Microsoft SQL Server 2000。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290211如何获取最新的 SQL Server 2000 服务包

修补程序信息

此修补程序的英文版具有的文件属性 (或更新的文件属性) 在下表中列出。日期和时间对这些文件列出在协调世界时 (UTC)。当您查看文件信息时,将转换为本地时间。若要 UTC 与本地时间之间的时差使用控制面板中的日期和时间工具中的 时区 选项卡。
   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      
注意由于存在文件依赖性最新的修补程序或功能,它包含这些文件可能还包含其他文件。

替代方法
如果由自定义应用程序使用了"症状"部分中提到的计数器,您可以使用以下的解决办法解决此问题:
  • 计算 活动的事务 计数器为对应于每个数据库实例的值的总和。此求和是 Active Transactions 计数器的 _Total 实例的实际值。
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。 Microsoft SQL Server 2000 Service Pack 4 中,第一次已得到纠正此问题。
更多信息

重现行为的步骤

若要重现行为,请在运行 SQL Server SMP 计算机上按照下列步骤操作:
  1. 在 SQL 查询分析器中,连接到要打开一个查询窗口的 SQL Server 的实例,然后将下面的代码粘贴到查询窗口中:
    -- Transaction for the first connectionwhile (1=1)beginbegin tranupdate pubs..authors set au_id=au_idrollbackend
  2. 在 SQL 查询分析器中,连接到所述步骤 1,SQL Server 的实例,然后将下面的代码粘贴到查询窗口中:
    -- Transaction for the second connectionwhile (1=1)beginbegin tranupdate Northwind..Categories set Description=Descriptionrollbackend
  3. 在 SQL 查询分析器中,连接到所述步骤 1,SQL Server 的实例,然后将下面的代码粘贴到查询窗口中:
    -- Transaction for the third connectionwhile (1=1)beginbegin tranupdate pubs..authors set au_id=au_idupdate Northwind..Categories set Description=Descriptionrollbackend
  4. 在第 1 步中,在步骤 2,和第 3 步中,请运行提到的代码。
  5. 将所需的计数器添加在 Windows 性能监视器,以查看值。若要这样做,请按照下列步骤操作:
    1. 单击 开始,然后单击 运行
    2. 打开 框中键入 perfmon,然后单击 确定
    3. 性能 窗口的右窗格中右键单击,然后单击 添加计数器
    4. 添加计数器 对话框中选择从 SQL Server:Databases性能对象 列表。
    5. 选择 活动的事务 计数器的计数器列表中。
    6. 从实例的列表中选择 _Total、 的 罗斯文 中,和 Pubs 实例,然后单击 添加
    7. 添加计数器 对话框中单击 关闭
在性能窗口的右窗格中,您可能会注意到在 平均 框中,并在 最大值 框中的值不正确。您可能还会注意到这些值是比单独的数据库实例的 活动事务 计数器的总和大得多。
参考
有关软件更新的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明


有关 SQLServer:Databases 性能计数器的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
330088错误: SQLServer:Databases 性能计数器在 $ Windows 系统监视器中的限制为第一个 99 数据库
perfmon SMP Windows 系统监视器

属性

文章 ID:841401 - 上次审阅时间:01/17/2015 10:07:31 - 修订版本: 3.3

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 标准版, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Desktop Engine (Windows), Microsoft SQL Server 2000 Enterprise Edition 64-bit

  • kbnosurvey kbarchive kbmt kbperformancetool kbperfmon kbperformance kbsqlserv2000presp4fix kbfix kbbug kbhotfixserver kbqfe KB841401 KbMtzh
反馈