为每个特定的 MSSQL 数据库分配 RAM 限制

为每个特定的 MSSQL 数据库分配 RAM 限制

我在同一台(Win2003 64位)服务器上有两个SQL2005数据库。

其中一个很少使用,但数据集很大。每次我从中查询时,SQL 都会决定将几 GB 的 RAM 专用于数据库,并且从那时起似乎一直保持这种状态,直到重新启动,从而蚕食另一个更重要的数据库的 RAM。

有没有办法设置每个数据库的 RAM 限制?

当我从大型、很少使用的数据库中查询时,我不介意进行一些磁盘交换。重要的是将 RAM 保留给更重要的数据库。

答案1

从那时起它似乎一直保持这种状态,直到重新启动

不,不是的。

有没有办法设置每个数据库的 RAM 限制?

一次也没有。

当我从大型、很少使用的数据库进行查询时,我不介意进行一些磁盘交换

我认为服务器缓存永远不应该交换。

答案2

内存配置是在服务器级别设置的,并且只能设置为最大值,以允许其他非 SQL 进程使用固定数量的剩余 RAM 运行。

唯一的选择是安装另一个实例(在同一台服务器上),并将内存消耗数据库迁移到那里。这样,您可以将总 RAM 划分为大 RAM 消耗数据库和中等 RAM 消耗数据库。不要忘记为操作系统进程留出 1-2 GB。

相关内容