FIX: 一个 AWE 系统能够使用更多的内存用于排序或哈希比 SQL Server 2000 中的非 AWE 系统

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

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

症状
从缓冲池中分配的内存 SQL Server 排序和哈希操作过程中使用的是为被盗的缓冲区。虚拟地址空间中必须始终被盗的缓冲区。 它们不能是映射到 Microsoft Windows 2000 地址窗口化扩展 (AWE) 的位置。 SQL Server 使用一个限制来限制用于排序和哈希计算,可以使用多少内存。由于这些原因,SQL Server 限制内存:
  • 以便整个缓冲池不需要消耗的被盗的缓冲区。
  • 以便在缓冲池中可以继续提供服务作为数据高速缓存。
在启用 AWE 的系统上的内存数量可以用作工作区内存用于排序和哈希计算有时是高大于其在非 AWE 的系统上。由于被盗的缓冲区必须始终在地址空间中,其他 AWE 内存应该与此计算无关。解决本文中讨论的修补程序可以解决该问题,以便在这两种配置的工作区可用于排序和为哈希计算都一致。

由于 miscalculation 的排序和哈希操作可能会试图对从缓冲池超过可以保持映射使用更多的内存。作为一个的结果类似于以下内容的错误写入到 SQL Server 错误日志 DBCC MEMORYSTATUS 命令的输出后跟一个 BPool::Map:


2003-06-23 04:17:14.86 spid153 BPool::Map: 找到没有 remappable 地址。
2003-06-23 04:17:15.04 spid92 缓冲区分发: 失窃 = 133972 免费 = 10785 过程 = 17346 Inram = 0 损坏 = 155429 保留 = 0 我 / O = 2 已锁定 = 988,其他 = 513478
2003-06-23 04:17:15.06 spid92 缓冲区计数: 提交 = 832000 目标 = 哈希运算的 832000 = 669897 InternalReservation = 1514 ExternalReservation = 4255 Min 免费 = 1024年
2003-06-23 04:17:15.06 spid92 过程缓存: TotalProcs = 8505 TotalPages = 17346 InUsePages = 6439
2003-06-23 04:17:15.06 spid92 动态内存管理器: 失窃 = 25253 保留的 OS = 1776年操作系统提交 = 1735年操作系统正在使用 = 1644年查询计划 = 17383 优化器 = 0 常规 = 7999 实用工具 = 243 连接 = 907
2003-06-23 04:17:15.06 spid92 全局内存对象: 资源 = 3259 锁定 = 102 SQLCache = 773 复制 = 2 LockBytes = 2 ServerGlobal = 3528 Xact = 110
2003-06-23 04:17:15.06 spid92 查询内存管理器: 提供 = 6 等待 = 0 的最大值 = 140712 可用 = 10409


在前面显示的输出,您可以看到 SQL Server 将允许多个请求并发运行的 140712 缓冲区的总计查询。在前面的示例有六个排序或哈希值执行的查询。这些六个查询已被授予 130303 缓冲区的使用 (140712 10409 = 130303)。
解决方案

服务包信息

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

修补程序信息

此修复程序的英文版具有文件属性 (或更高版本) 下表中列出。其格式为协调通用时间 (UTC) 列出日期和时间对这些文件。 当您查看文件信息时,将转换为本地时间。若要 UTC 与本地时间之间的时差使用控制面板中的日期和时间工具中的 时区 选项卡。
   Date         Time   Version            Size    File name   ------------------------------------------------------------------------------   31-May-2003  18:45  2000.80.818.0      78,400  Console.exe         28-Oct-2003  04:21  2000.80.873.0     315,968  Custtask.dll        02-Oct-2003  20:59  2000.80.867.0      33,340  Dbmslpcn.dll        25-Apr-2003  02:12                    786,432  Distmdl.ldf   25-Apr-2003  02:12                  2,359,296  Distmdl.mdf   30-Jan-2003  01:55                        180  Drop_repl_hotfix.sql   12-Sep-2003  03:26  2000.80.859.0   1,905,216  Dtspkg.dll          26-Aug-2003  20:16  2000.80.854.0     528,960  Dtspump.dll         23-Jun-2003  22:40  2000.80.837.0   1,557,052  Dtsui.dll           23-Jun-2003  22:40  2000.80.837.0     639,552  Dtswiz.dll          24-Apr-2003  02:51                    747,927  Instdist.sql   03-May-2003  01:56                      1,581  Inst_repl_hotfix.sql   08-Feb-2003  06:40  2000.80.765.0      90,692  Msgprox.dll         01-Apr-2003  02:07                      1,873  Odsole.sql   05-Apr-2003  01:46  2000.80.800.0      62,024  Odsole70.dll        07-May-2003  20:41  2000.80.819.0      25,144  Opends60.dll        02-Apr-2003  21:48  2000.80.796.0      57,904  Osql.exe            02-Apr-2003  23:15  2000.80.797.0     279,104  Pfutil80.dll        04-Aug-2003  18:17                    550,780  Procsyst.sql   12-Sep-2003  00:37                     12,305  Qfe469315.sql   22-May-2003  22:57                     19,195  Qfe469571.sql   06-Sep-2003  01:36                  1,090,932  Replmerg.sql   06-Sep-2003  07:18  2000.80.858.0     221,768  Replprov.dll        06-Sep-2003  07:18  2000.80.858.0     307,784  Replrec.dll         06-Sep-2003  00:00                  1,087,150  Replsys.sql   13-Aug-2003  16:28                    986,603  Repltran.sql   22-Oct-2003  00:08  2000.80.871.0      57,916  Semnt.dll           29-Jul-2003  20:13  2000.80.819.0     492,096  Semobj.dll          31-May-2003  18:27  2000.80.818.0     172,032  Semobj.rll   05-Aug-2003  21:06                    127,884  Sp3_serv_uni.sql   01-Jun-2003  01:01  2000.80.818.0   4,215,360  Sqldmo.dll          07-Apr-2003  17:44                     25,172  Sqldumper.exe       19-Mar-2003  18:20  2000.80.789.0      28,672  Sqlevn70.rll   27-Sep-2003  04:42  2000.80.865.0     180,792  Sqlmap70.dll        03-Sep-2003  02:56  2000.80.857.0     188,992  Sqlmmc.dll          02-Sep-2003  23:03  2000.80.857.0     479,232  Sqlmmc.rll   22-Oct-2003  00:08  2000.80.871.0     401,984  Sqlqry.dll          08-Feb-2003  06:40  2000.80.765.0      57,920  Sqlrepss.dll        05-Nov-2003  20:52  2000.80.876.0   7,606,353  Sqlservr.exe        25-Jul-2003  21:44  2000.80.845.0     590,396  Sqlsort.dll         08-Feb-2003  06:40  2000.80.765.0      45,644  Sqlvdi.dll          02-Oct-2003  20:59  2000.80.867.0      33,340  Ssmslpcn.dll        01-Jun-2003  01:01  2000.80.818.0      82,492  Ssnetlib.dll        01-Jun-2003  01:01  2000.80.818.0      25,148  Ssnmpn70.dll        28-Oct-2003  04:21  2000.80.873.0     123,456  Stardds.dll         01-Jun-2003  01:01  2000.80.818.0     158,240  Svrnetcn.dll        31-May-2003  18:59  2000.80.818.0      76,416  Svrnetcn.exe        30-Apr-2003  23:52  2000.80.816.0      45,132  Ums.dll             02-Jul-2003  00:19  2000.80.834.0      98,816  Xpweb70.dll      
注意 由于文件相关性、 最新的修补程序或包含这些文件的特征的可能还包含其他文件。
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。

Microsoft SQL Server 2000 Service Pack 4 中,第一次已得到纠正此问题。
更多信息
如果 DBCC DBREINDEX 语句时出现 BPool::Map 错误,或者运行一个 CREATE INDEX 语句时,请参阅下面 Microsoft 知识库中相应的文章:

838459FIX: 您在创建或使用启用事实上配置选项重新生成索引时可能会收到一个 BPool::Map 警告

Microsoft 知识库文章 838459 讨论的修补程序可能会解释的错误,则返回 true 原因的可能性更大的。
参考
有关软件更新的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

属性

文章 ID:831999 - 上次审阅时间:01/17/2015 05:30:38 - 修订版本: 2.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 Enterprise Edition 64-bit

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB831999 KbMtzh
反馈