为什么sqlserver.exe占用600多M的内存?

lao_bulls 2008-12-12 08:49:34
小弟有一数据库系统,大概13台电脑联网使用,在普通PC的windows 2003和sql server2005环境下,sqlserver.exe占用内存100多M,后来换用IBM Rain 1 服务器,同样是windows 2003和sql server2005环境下,但sqlserver.exe竟占用内存600多M内存。为什么?望大虾救救小弟,小弟将感激不尽,谢谢 !

劳冠华!
...全文
343 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2008-12-13
  • 打赏
  • 举报
回复
或者自己加大虚拟内存.

http://support.microsoft.com/default.aspx?kbid=899761

(在运行 32 位版本的 SQL Server 2000 SP4 的计算机上启用 AWE 时有些内存不可用)
错误号:474343 (SQL Server 8.0)

Microsoft 将 Microsoft SQL Server 2000 修复程序作为一个可下载的文件来分发。因为这些修复程序具有累积性,所以,每个新版本都包含上一个 SQL Server 2000 修复程序版本中包含的所有修复程序和所有安全修复程序。
本页

概要

症状

原因

解决方案

修复程序信息

先决条件

重新启动信息

注册表信息

修复程序文件信息

适用于基于 x86 计算机的 SQL Server 2000 32 位版本

适用于基于 x64 计算机的 SQL Server 2000 32 位版本

状态

更多信息
概要
本文描述有关该修复程序版本的下列内容: ? 此修复程序包所修复的问题
? 安装此修复程序包的先决条件
? 安装此修复程序包后是否必须重新启动计算机
? 此修复程序包是否已被任何其他修复程序包替代
? 是否必须更改注册表
? 此修复程序包中包含的文件

回到顶端

症状
如果启用 Address Windowing Extentions (AWE) 支持,则单个 SQL Server 2000 实例最多只能使用计算机上 50% 的物理内存。

注意:该问题只发生在运行于基于 x86 或基于 x64 的计算机上的 32 位版本的 Microsoft SQL Server 2000 Service Pack 4 中。

例如,如果您的计算机具有 16 GB RAM,且启用了 AWE,则 SQL Server 2000 的单个实例只能访问 8 GB RAM。

要确定 AWE 是否已启用,请从 SQL 查询分析器运行以下脚本:sp_configure 'show advanced options', 1
go
reconfigure
go
sp_configure 'awe enabled'
go

如果 run_value 设置为 1,则服务器上启用了 AWE。

要查看此现象,请检查系统监视器中的“SQL Server:内存管理器/总的服务器内存 (KB)”计数器。在运行 SQL Server Service Pack 3 (SP3) 的计算机上,该值最大可以为计算机上的物理内存量。在运行 SQL Server SP4 的计算机上,该值永远不会超过物理内存的 50%。

注意? 该问题只出现在具有超过 2 GB RAM 的计算机上。
? 如果使用 AWE 内存,并且将最大服务器内存选项的值设置为低于物理内存的 50%,则不会受到此问题的影响。
? AWE 并非在所有版本的 SQL Server 2000 上都可用。例如,AWE 在 MSDE、SQL Server 2000 Standard Edition、SQL Server 2000 Personal Edition 或仅包含 SQL Server 2000 工具的安装上都不可用。
? 如果在 IA-64 位系统上运行 SQL Server 2000 SP4,则不会受到此问题的影响。

回到顶端

原因
发生此问题的原因是,可用缓冲页的总数是基于 SQL 页 (8 KB) 和系统页 (4 KB) 数量的比较结果的,而该比较结果是错误的。在 IA-64 位系统上,由于不执行进行此比较的代码,因此不会发生此问题。
回到顶端

解决方案
修复程序信息
要获得此修复程序,请访问下面的 Microsoft 网站:
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=7C407047-3F1F-48B8-9E4C-DC32875E1961 (http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=7C407047-3F1F-48B8-9E4C-DC32875E1961)
重要说明:对于基于 x64 和基于 x86 的计算机,只存在一个下载。该修复程序使用将确定平台和安装正确文件的安装程序技术。
先决条件
SQL Server 2000 Service Pack 4。

要获取 SQL Server 2000 Service Pack 4,请访问下面的 Microsoft 网站:
http://www.microsoft.com/technet/prodtechnol/sql/2000/downloads/default.mspx (http://www.microsoft.com/technet/prodtechnol/sql/2000/downloads/default.mspx)
重新启动信息
应用此修复程序后,不必重新启动计算机。
注册表信息
不必更改注册表。
修复程序文件信息
此修复程序仅包含解决本文列出的问题所必需的文件。此修复程序不包含将产品完全更新到最新版本所必需的所有文件。

此修复程序的英文版具有下表中列出的文件属性(或更新的文件属性)。这些文件的日期和时间按协调通用时间 (UTC) 列出。当您查看文件信息时,该时间将转换为当地时间。要了解 UTC 与当地时间之间的时差,请使用“控制面板”中“日期和时间”工具中的“时区”选项卡。
适用于基于 x86 计算机的 SQL Server 2000 32 位版本
日期 时间 版本 大小 文件名
-----------------------------------------------------------
14-May-2005 01:11 2000.80.2040.0 9,150,464 Sqlservr.exe
适用于基于 x64 计算机的 SQL Server 2000 32 位版本
日期 时间 版本 大小 文件名 平台
---------------------------------------------------------------------
14-May-2005 01:11 2000.80.2040.0 9,150,464 Sqlservr.exe x86
注意:由于文件的相关性,包含这些文件的最新修复程序或功能可能还包含其他一些文件。
回到顶端

状态
Microsoft 已经确认这是在“适用于”一节中列出的 Microsoft 产品中存在的问题。
回到顶端

更多信息
有关 AWE 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
274750 (http://support.microsoft.com/kb/274750/) 在 SQL Server 中如何配置 2 GB 以上的内存
有关 Microsoft SQL Server 更新的命名模式的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
822499 (http://support.microsoft.com/kb/822499/) Microsoft SQL Server 软件更新程序包的新命名模式

有关 Microsoft 在软件发布后更正软件所使用的术语的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 (http://support.microsoft.com/kb/824684/) 有关用于描述 Microsoft 软件更新标准术语的介绍
回到顶端


--------------------------------------------------------------------------------

这篇文章中的信息适用于:
? Microsoft SQL Server 2000 Developer Edition
? Microsoft SQL Server 2000 Enterprise Edition
? Microsoft SQL Server 2000 Service Pack 4

回到顶端

关键字: kbfix kbqfe kbpending kbhotfixserver KB899761

回到顶端

Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
dawugui 2008-12-13
  • 打赏
  • 举报
回复
600M?很正常.
-狙击手- 2008-12-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fcuandy 的回复:]
e
[/Quote]

FC今天吃得太饱了吧,打饱咯了
mengxj85 2008-12-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 DVD_01 的回复:]
600M
正常
[/Quote]
再多几台机子,可能就有几个G了
fcuandy 2008-12-12
  • 打赏
  • 举报
回复
e
百年树人 2008-12-12
  • 打赏
  • 举报
回复
关注,帮顶...
Andy-W 2008-12-12
  • 打赏
  • 举报
回复
600M
正常
w2jc 2008-12-12
  • 打赏
  • 举报
回复
如果你IBM服务器的内存比PC多的话,SQL会试图使用更多的内存,以获得较好的性能。
如果你实在想限制SQL能使用的最多内存,则按1楼建议。


-- max server memory to 512M
sp_configure "max server memory", 512

reconfigure with override
-狙击手- 2008-12-12
  • 打赏
  • 举报
回复
设置最大内存

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧