sql server 会自动进行内存管理,通常会根据自己的需求尽量占用物理内存用于缓冲(以提高缓冲区命中率),直到为操作系统保留 4-10MB 的物理内存空间(之所以选择此范围是因为经过微软的测试表明,此时操作系统会有最小的换页需求)。
但是,如果由于其他程序的内存需求增加而导致可用物理内存低于 SQL SERVER 设置的目标(4-10MB),SQL SERVER 将会释放一些内存空间。
如果不存在性能问题,就不需要干涉。如果服务器上有其他应用服务(如 IIS),则可以根据需要设置 SQL Server 最大可用内存,为应用服务保留足够的内存空间。
如果有性能问题,特别是存在内存瓶颈,则需要对会话和 sql server 内部的进程进行跟踪/分析,找出最耗内存的,进行具体处理。