问题描述:
环境:主机;IBM 445 /4 棵cpu/4G M
OS = windows server
MSSQL = Enterprise edition server +sp3
状况:
我的MSSQL 一停用,在操作系统的任务管理器中,内存使用状诚指示条一下就降到到接近0,当我一启动MSSQL服务,任务管理器中的内存使用状态指示条一上到了70% 左右,再仔细看任务管理器中SQL 进程的内存使用大少才70多M(70多兆确认没有看错),而任务管理器中的可能最大内存是3.6G .重启服务器也是一样的状况.别外我的MSSQL 中有大约有建10 个DB.
问题:
1.为何任务管理器中的内存使用状态条与进程中现显的内存使用差异有那么大(2.5G /70M)?
2.这个状况真正的问题在什么地方?
问题原因:
当启用了SQL Server 的 AWE选项后,很有可能会出现这种现象,执行下面的代码,查看你的SQL Server是否启动了AWE选项,如果下面的代码显示的结果集中,列 run_value 的值显示为1,则表示启用了AWE选项。
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
EXEC sp_configure 'awe enabled'
GO
关于启用了AWE选项后,会出现这种故障,在SQL Server联机丛书上可以找到原文说明:
使用系统监视器(Microsoft Windows NT® 4.0 中的性能监视器)检索有关 SQL Server 内存使用及可用内存的信息。任务管理器不为 AWE 提供准确的内存使用信息。因此,报告的 sqlservr.exe 所占用的内存量并不正确。若要获得正确的 SQL Server 内存使用情况,可使用"总的服务器内存 (KB)"性能计数器(该计数器可通过系统监视器激活),或从 sysperfinfo 中选择内存使用。有关更多信息,请参见监视内存的使用。
其他注意事项:
启动AWE后选项后,SQL Server在启动的时候就会吃掉能吃掉所有的可用内存(这个可用内存指保留给系统外的内存,或者是SQL Server的最大内存限制中设置的内存量),因此,如果你的服务器不是专用的数据库服务器,请在启用AWE选项前,配置好SQL Server的最大内存限制
另外,如果你的内存低于2G,则开启AWE选项无效,能开启,但达不到效果