日期:2014-05-17  浏览次数:20518 次

关于SQLSERVER内存设置的问题
客户的服务器是 win server 2003 X64 物理内存为20G
数据库 是SQL 2008 X64

由于现在用户数量很大 导致每天到了晚上,SQLSERVER吃到了几乎所有的物理内存 导致系统当机。
于是我们想设置下SQLSERVER的最大内存为18G左右,预留2G给系统正常运行。

现在问题来了,打开数据库属性——内存——最大服务器内存(MB)(X) 默认值显示为 2147483647

疑问1:这个数字应该不是MB吧?它的单位到底指什么呢?
疑问2:在客户的服务器上,这个值最多只能输10位数字,而我自己的机器上可以可以输入10位以上的数字
疑问3:鉴于过去我们从未给客户的数据库服务器进行过配置优化,目前的情况下 如何设置才能保证服务器不当机呢?

谢谢


------解决方案--------------------
在32位操作系统中,由于是二进制,其能最大存储的数据是1111111111111111111111111111111。正因为此,体现在windows或其他可视系统中的十进制应该为2147483647。 

就是2^31-1
------解决方案--------------------
优化SQLServer数据库服务器内存配置的策略