我将首先回答最后一个问题:是的,您可以在服务器运行时无问题地对其进行更改。如果要通过SQL更改值,可以使用以下查询进行操作
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 4096;
GO
RECONFIGURE;
GO
有关在SQL Server上设置内存的更多详细信息,请参见此页面。
不幸的是,您的第一个问题是:我不能告诉您,我不在。
分配内存时需要考虑一百万个因素。查询的结果集有多大,它们运行的频率如何?过去需要20毫秒的查询现在可以花200毫秒吗?
Sql的默认值假定它是服务器上唯一运行的东西,因此它仅将内存设置为MAX_VALUE,并且在所有可用内存都在使用时(以及在与您要发生的事情相当接近的专用硬件上,它停止增长)Aarons提出了可能的警告))。通常,任何与数据库交互的Web服务器或其他软件都将位于通过网络与其通信的不同硬件上。
您实际上只需要将其设置为您认为合理的值,如果您的Web服务器的内存仍然不足,则将其降低。如果在为Web服务器提供所需的内存后,SQL没有为您提供足够的性能,则您需要购买更多的ram或将SQL移至专用硬件。