我们有一组在同一虚拟服务器上运行的SQL Server实例(2008 R2)。每个实例代表我们开发周期中的一个阶段(Dev / Test / Stage / etc。)。实例在任何给定时间都必须处于联机状态,但是负载往往一次只能隔离到一个实例,具体取决于我们在发布生命周期中所处的位置。
SQL Server似乎抢占并保留了我们设置为最大值的任何内存量。我想知道是否可以通过任何方式将实例配置为“智能”的内存消耗,以使它们在需要时不会互相阻碍获取内存。
如果所有实例都需要随时处于联机状态,并且您设置了最大内存,则SQL Server不会释放它。当您说..负载一次被隔离到一个实例时,是否表示在其他实例上没有活动?此外,您在一个虚拟机上运行了多少个实例,该虚拟机的CPU /内存配置是什么?
—
Kin Shah 2013年
我是针对多实例集群编写的,在多实例集群中,如果故障转移导致在同一节点上出现多个实例,则需要调整内存。您可以在此处使用类似的方法,但可以根据需要执行存储过程,以便根据当前需要重新配置内存。您将无法将每个实例设置为自动执行此操作,除非您简单地将每个实例永久固定到最大内存(然后在需要时手动进行调整)。
—
亚伦·伯特兰