积极答复者
SQL2005内存问题

问题
答案
-
sp_configure 'min server memory', 1024
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO
这个可能需要打开awe开关。
你将最小内存设置大一些,就可以使sql server使用较多内存了。
family as water- 已标记为答案 Hong-Gang Chen - MSFTModerator 2009年11月12日 7:06
-
SQL2005的内存不像2000可以强行限制大小,就是设定了,我在网上看到也没有用的,请问有什么方法可以强行限制SQL2005对于服务器内存使用的最大值,另外,SQL2005里面内存报表里的FREE是什么意思?当在拉数据的时候FREE反而大了,看不懂,还有像CACHED和STOLEN是什么意思?麻烦各位高手给一个详细的说明,谢谢
这个是准的, 32系统系统通过任务管理器看到的内存可能不太准
在64位的环境下是很准确的, 测试过几次, 当 sql server 确实占用了 max memory 分配的内存的时候, 将 max memory 设置小一些, 可以直接在任务管理器里面看到内存使用降下来的- 已标记为答案 Hong-Gang Chen - MSFTModerator 2009年11月12日 7:06
-
KB上说得比较清楚:http://support.microsoft.com/kb/907877
简单来说:Free 表示在SQL commited内存中还有多少buffer是free的。free增大了有很多种可能:可能是SQL Server commited的内存增加了,也可能是其他的buffer释放了,cached是指各种cache用的buffer,比如查询计划。stolen的buffer是供SQL Server内部的一些数据结构用的区域,不同于数据缓存和查询计划等缓存。
This posting is provided "AS IS" with no warranties, and confers no rights.- 已标记为答案 Hong-Gang Chen - MSFTModerator 2009年11月12日 7:07
-
SQL2005的内存不像2000可以强行限制大小,就是设定了,我在网上看到也没有用的,请问有什么方法可以强行限制SQL2005对于服务器内存使用的最大值,另外,SQL2005里面内存报表里的FREE是什么意思?当在拉数据的时候FREE反而大了,看不懂,还有像CACHED和STOLEN是什么意思?麻烦各位高手给一个详细的说明,谢谢
可以用min server memory and max server memory 来设置sql server使用的最多和最少内存。不过max server memory只是代表最多使用的buffer的大小。虽然部分bufer占了SQL Server 使用内存的绝大部分,但是SQL Server作为一个进程还会使用稍微多一点的内存。
This posting is provided "AS IS" with no warranties, and confers no rights.- 已标记为答案 Hong-Gang Chen - MSFTModerator 2009年11月12日 7:07
全部回复
-
sp_configure 'min server memory', 1024
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO
这个可能需要打开awe开关。
你将最小内存设置大一些,就可以使sql server使用较多内存了。
family as water- 已标记为答案 Hong-Gang Chen - MSFTModerator 2009年11月12日 7:06
-
SQL2005的内存不像2000可以强行限制大小,就是设定了,我在网上看到也没有用的,请问有什么方法可以强行限制SQL2005对于服务器内存使用的最大值,另外,SQL2005里面内存报表里的FREE是什么意思?当在拉数据的时候FREE反而大了,看不懂,还有像CACHED和STOLEN是什么意思?麻烦各位高手给一个详细的说明,谢谢
这个是准的, 32系统系统通过任务管理器看到的内存可能不太准
在64位的环境下是很准确的, 测试过几次, 当 sql server 确实占用了 max memory 分配的内存的时候, 将 max memory 设置小一些, 可以直接在任务管理器里面看到内存使用降下来的- 已标记为答案 Hong-Gang Chen - MSFTModerator 2009年11月12日 7:06
-
SQL2005的内存不像2000可以强行限制大小,就是设定了,我在网上看到也没有用的,请问有什么方法可以强行限制SQL2005对于服务器内存使用的最大值,另外,SQL2005里面内存报表里的FREE是什么意思?当在拉数据的时候FREE反而大了,看不懂,还有像CACHED和STOLEN是什么意思?麻烦各位高手给一个详细的说明,谢谢
'max server memory' 选项决定了sql server buffer pool可以占用的最大内存量
sqlserver会根据需求来增加使用的内存大小,如果想让sqlserver使用多的内存,增加负载就好了。
内存报表是什么意思? 是dbcc memorystatus的输出吗?
kb上有介绍
http://support.microsoft.com/kb/271624/en-us
有dba的职位吗 -
KB上说得比较清楚:http://support.microsoft.com/kb/907877
简单来说:Free 表示在SQL commited内存中还有多少buffer是free的。free增大了有很多种可能:可能是SQL Server commited的内存增加了,也可能是其他的buffer释放了,cached是指各种cache用的buffer,比如查询计划。stolen的buffer是供SQL Server内部的一些数据结构用的区域,不同于数据缓存和查询计划等缓存。
This posting is provided "AS IS" with no warranties, and confers no rights.- 已标记为答案 Hong-Gang Chen - MSFTModerator 2009年11月12日 7:07
-
SQL2005的内存不像2000可以强行限制大小,就是设定了,我在网上看到也没有用的,请问有什么方法可以强行限制SQL2005对于服务器内存使用的最大值,另外,SQL2005里面内存报表里的FREE是什么意思?当在拉数据的时候FREE反而大了,看不懂,还有像CACHED和STOLEN是什么意思?麻烦各位高手给一个详细的说明,谢谢
可以用min server memory and max server memory 来设置sql server使用的最多和最少内存。不过max server memory只是代表最多使用的buffer的大小。虽然部分bufer占了SQL Server 使用内存的绝大部分,但是SQL Server作为一个进程还会使用稍微多一点的内存。
This posting is provided "AS IS" with no warranties, and confers no rights.- 已标记为答案 Hong-Gang Chen - MSFTModerator 2009年11月12日 7:07