MS SQL 内存使用异常

原创 2006年06月29日 21:11:00

问题描述:

 

环境:主机;IBM 445 /4 cpu/4G M

        OS = windows server

        MSSQL = Enterprise edition server +sp3

状况:

     我的MSSQL 一停用,在操作系统的任务管理器中,内存使用状诚指示条一下就降到到接近0,当我一启动MSSQL服务,任务管理器中的内存使用状态指示条一上到了70% 左右,再仔细看任务管理器中SQL 进程的内存使用大少才70M(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选项无效,能开启,但达不到效果

 

MS SQL执行大sql脚本文件时,提示“内存不足”

当客户服务器不允许直接备份时,往往通过导出数据库脚本的方式来部署-还原数据库。但是当数据库导出脚本很大,用Microsoft SQL Server Management Studio执行脚本时,往往会...

MS SQL cursor 游标使用

一、游标包括两个部分:1、游标结果集      由定义该游标的select语句返回的行的集合2、游标位置         指向这个集合中某行的指针二、游标处理过程:使用declare 语句声明使用op...

AUTO INCREMENT 字段【MS SQL 使用 IDENTITY 关键字来执行 auto-increment 任务】

Auto-increment 会在新记录插入表中时生成一个唯一的数字。 AUTO INCREMENT 字段 我们通常希望在每次插入新记录时,自动地创建主键字段的值。 我们可以在表中创...

MS SQL用ROWCOUNT解决TOP子句不支持变量的问题

MS SQL用ROWCOUNT解决TOP子句不支持变量的问题 因为仰望ORACLE,所以一直都以为SQL SERVER很笨。据传SQL 2005有了RowID的东西,可以解决TOP排序的问题。可惜还没...

MS SQL PHP Generator(PHP脚本自动生成软件) v17.10.1官方版下载

软件名称:MS SQL PHP Generator(PHP脚本自动生成软件) v17.10.1官方版下载 MS SQL PHP Generator是一款功能强大的php脚本自动生成软件,可以...

python程序:备份MS SQL数据库到压缩文件

参考了备份文件的python脚本。 os.system()执行命令的时候,如果这个命令本身带有空格,这个system()不能正常执行,所以改用subprocess.call()替换os.system...

MS SQL 系统库信息说明

1. 存储过程:msdb.dbo.syscategories包含由 SQL Server Management Studio 用来组织作业、警报和操作员的类别。该表存储在 msdb 数据库中。 2. ...

[ExtNet]Grid怎么实现服务器端分页、排序、查询?-MS SQL存储过程分页

存储过程: CREATE procedure [dbo].[AspNetPage] @tblName varchar(1000), -- 表名 @Se...

MS sql 判断数据库、表、函数、存储过程是否存在

-- 库是否存在 if exists(select * from master..sysdatabases where name=N'库名') print 'exists' else print 'n...

MS SQL数据导入MySQL

废话少说,将MS SQL 数据库的数据导出为txt,然后将txt导入到MySQL。两边数据库结构包括字段顺序要一样。 要点: 1、导出的文本中的字段的顺序要和MySQL里面字段的顺序一样。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MS SQL 内存使用异常
举报原因:
原因补充:

(最多只允许输入30个字)