默认情况下,SQL Server 会依据可获得的系统资源动态改变它的内存需求。如果 SQL Server 需要更多的内存,它会要求操作系统确定是否有空闲的物理内存可用,并使用可用的内存。若 SQL Server 不再需要当前分配给它的内存,它就将内存释放给操作系统。不过,可以用 min server memory、max server memory 和 set working set size 服务器配置选项替代动态使用内存的选项。有关更多信息,请参见服务器内存选项。
若要监视 SQL Server 正在使用的内存量,请检查下列性能计数器:
Process:Working Set
SQL Server:Buffer Manager:Buffer Cache Hit Ratio
SQL Server:Buffer Manager: Total Pages
SQL Server:Memory Manager:Total Server Memory (KB)
Working Set 计数器表示的是一个进程所占用的内存数量。若这一数值持续低于 SQL Server 配置使用的内存数量(由"最小服务器内存"和"最大服务器内存"服务器选项设置),则表示 SQL Server 所配置的内存比它所需要的多。否则,用"设置工作集大小"服务器选项修改工作集大小。有关更多信息,请参见 set working set size 选项。
Buffer Cache Hit Ratio 计数器值依应用程序而定,但比率最好为 90% 或更高。增加内存直到这一数值持续高于 90%,表示 90% 以上的数据请求可以从数据缓冲区中获得所需数据。
若 Total Server Memory (KB) 计数器值与计算机的物理内存大小相比一直很高,可能表示需要更多的内存。
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO