多个SQL Server实例如何配置内存?

Phi*_*ler 10 sql-server sql-server-2008-r2

我们有一组运行在同一虚拟服务器上的 SQL Server 实例 (2008 R2)。每个实例代表我们开发周期中的一个阶段(开发/测试/阶段/等)。在任何给定的时间,所有实例都需要在线,但负载往往会被隔离到一个实例,这取决于我们在发布生命周期中的位置。

SQL Server 似乎会抓取并保存我们设置为最大值的任何内存量。我想知道是否有任何方法可以将实例配置为“智能”内存消耗,以便它们在需要时不会相互阻止获取内存。

RoK*_*oKa 8

SQL Server 将使用尽可能多的内存(相当多),并且始终建议对每个实例设置限制。默认设置为 2147483647MB。

根据您的使用情况和自己的独特情况,您的设置可能会有所不同,但通常一个好的起点是将最大服务器内存设置在 75% 到 90% 之间,具体取决于您拥有多少 RAM。Glenn Berry 几年前在这里分享了一个很好的迹象。

如果您在服务器上有多个活动实例,您可能必须在它们之间共享资源,例如,如果您有 32GB 的 RAM 和 3 个实例,您应该为每个实例分配大约 9500MB。当您一次只使用一个实例时,其他实例不会释放它们正在使用的 RAM。您可以通过停止服务来释放他们的 RAM。

当您运行其他应用程序/服务时,可能需要调整内存量以适应它们。