min server memory 和 max server memory 的影响

min server memorymax server memory 配置选项建立 Microsoft SQL Server 数据库引擎缓冲池使用的内存量的上限和下限。缓冲池并不立即获取 min server memory 中指定的内存量。缓冲池启动时只使用初始化所需的内存。随着数据库引擎工作负荷的增加,它将继续获取支持工作负荷所需的内存。在达到 min server memory 中指定的内存量之前,缓冲池不会释放它获取的任何内存。达到 min server memory 后,缓冲池将使用标准算法,根据需要来获取和释放内存。唯一的区别是缓冲池从不将内存分配降到 min server memory 所指定的水平下,也从不获取超过 max server memory 所指定水平的内存。

注意注意

作为进程的 SQL Server 将获取超过 max server memory 选项所指定的内存。内部和外部组件都可以分配缓冲池以外的内存,这将占用额外内存,但是分配给缓冲池的内存通常表示 SQL Server 占用的内存的最大部分。

数据库引擎获取的内存量完全取决于放置在实例上的工作负荷。不处理很多请求的 SQL Server 实例可能永远达不到 min server memory

如果为 min server memorymax server memory 指定相同的值,则一旦分配给数据库引擎的内存达到该值,数据库引擎将停止为缓冲池动态释放和获取内存。

如果在运行 SQL Server 实例的计算机上频繁启动或停止其他应用程序,启动这些应用程序所需的时间可能会因 SQL Server 实例分配和释放内存而延长。另外,如果 SQL Server 是几个在一台计算机上运行的服务器应用程序中的一个,系统管理员可能需要控制分配给 SQL Server 的内存量。在这些情况下,可以使用 min server memorymax server memory 选项控制 SQL Server 可以使用的内存量。有关详细信息,请参阅服务器内存选项

min server memorymax server memory 选项以 MB 为单位指定。