我正在读一本由Christian Bolton,Brent Ozar撰写的关于SQL 2008内部和故障排除的书,还有一本由已故Ken撰写的旧书,我对SQL server的动态内存管理器感到困惑和好奇。
有人能证实我对SQL Server动态内存管理的理解是正确的吗?
Server 2005/2008/2008R2中的x64
a)锁占用的最大内存量仅限于缓冲池内存的60% (最大服务器内存)。通过禁用锁升级并执行大量插入,我可以看到Server在抛出错误号1204 (锁的内存不足)之前可以占用多达60%的缓冲池内存。
( b)计划缓存大小仅限于
a) Number of plans in c
我们有Microsoft SQL Server 2017 (RTM-GDR) (KB4583456) - 14.0.2037.2 (X64) Nov 2 2020 19:19:59 Copyright (C) 2017 Microsoft Corporation Standard Edition (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: )
服务器实际安装了256 GB的RAM。Server的内存限制设置为210 GB。我注意到,服务器在进行查询时每个查询请求39 GB内存(210 * 0.7