使用以下两个服务器内存选项: (1) min server memory (2) max server memory
默认情况下,SQL Server 的内存要求会根据可用系统资源的情况动态地变化。min server memory 的默认设置为 0,max server memory 的默认设置为 2147483647。可以为 max server memory 指定的最小内存量为 16 MB。
注意:如果将 max server memory 设置为最小值,则可能会严重降低 SQL Server 的性能,甚至使其无法启动。如果在更改此选项之后无法启动 SQL Server,则请使用 –f startup 选项进行启动,并将 max server memory 重置为以前的值。
当 SQL Server 动态使用内存时,它会定期查询系统以确定可用物理内存量。 (A)在 Microsoft Windows 2000 中,SQL Server 根据服务器的活动来增大或收缩缓冲区高速缓存,以使可用物理内存保持在 4 MB 到 10 MB 之间。保持此可用内存可避免 Windows 2000 分页。如果可用内存较少,则 SQL Server 将内存释放给 Windows 2000。如果可用内存较多,则 SQL Server 将内存分配给缓冲池。SQL Server 仅在其工作负荷需要较多内存时才向缓冲池增加内存;处于休眠状态的服务器不会增大其缓冲池的大小。 (B)在 Windows Server 2003 中,SQL Server 使用内存通知 API QueryMemoryResourceNotification 确定缓冲池何时可以分配内存及释放内存。