SQL Server内存有限

我遇到了一个SQL Server实例及其内存使用问题。

问题是,即使服务器最大内存选项设置为10 GB,当我看一下taskmanager sqlserver.exe进程永远不会超过200MB的内存。

在同一台服务器(Windows Server 2008)中,还有另外一个以类似的方式configuration的sqlserver实例,在那里没有发生(运行相同的查询和作业分配更多的内存)。

你有什么线索可以解决这个问题吗?

首先,你运行的是哪个版本的SQL Server和版本? 这是SQL 2000,2005还是2008? 标准,MSDE,企业,快递?

它是一个32位或64位操作系统?

如果你是32位的,没有AWE,你不会得到2 + GB以上的值。 我build议你看看几个资源:

http://msmvps.com/blogs/bradley/archive/2009/01/15/how-to-troubleshoot-sql-server-memory-related-issues-part-1.aspx http://www.mssqltips.com /tip.asp?tip=1268

如果您是SQL 2000,请确保这不是问题: http : //support.microsoft.com/kb/899761/en-us

另外,你确定你正在检查服务器上的正确的实例吗?

例如,这是SQL Server 2000中的一个已知错误。请参阅我的问题:

Sql 2000和AWE

MS SQL Server有几个限制取决于版本/许可证。 也许运行两个SQL Server实例可能会有进一步的限制。 尝试在Microsoft网站上search有关其限制的信息。

运行perfmon,并从SQLServer内存pipe理器列表中select以下计数器:

目标服务器内存总服务器内存

Total服务器内存将准确地告诉你SQL Server实例使用了多less缓冲区caching。

我预计目标服务器内存将显示10GB(假设您的环境是启用了AWE的64位或32位)。 如果在SQL实例运行了一段时间之后,Total比Target小很多,那么我预计实例中数据库的累计大小小于10GB? 或者可能数据库表/索引自从最后一次实例重新启动以来没有被触及(为了确保每个表被触摸,尝试对数据库运行DBCC checkdb)。