Я відповім на останнє запитання першим: Так, ви можете змінити його, поки сервер працює без проблем. Якщо ви хочете змінити значення через SQL, ви можете зробити це за допомогою наступного запиту
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 4096;
GO
RECONFIGURE;
GO
На цій сторінці див. Докладнішу інформацію про налаштування пам'яті на SQL-сервері.
Ваше перше запитання, на жаль, відповідь: я не можу вам сказати, я не там.
Є 1 000 000 речей, які потрібно враховувати при розподілі пам'яті. Наскільки великі набори результатів від запитів, як часто вони виконуються, чи буде запит, який раніше тривав 20 мс, нормальний, а тепер займає 200 мс?
За замовчуванням Sql передбачається, що це єдине, що працює на сервері, тому він просто встановлює пам'ять на MAX_VALUE і він припиняє зростати, коли використовується вся наявна пам'ять (і на спеціальному апаратному забезпеченні, яке досить близько до того, що ви хочете статися (див. Аарони коментують можливий застереження)). Зазвичай будь-який веб-сервер або інше програмне забезпечення, що взаємодіє з базою даних, має інше обладнання, яке спілкується з ним по мережі.
Вам дійсно потрібно просто встановити його на значення, яке, на вашу думку, є здоровим, і якщо ваш веб-сервер все ще задушений, знизьте його. Якщо SQL не дає вам достатньої продуктивності після того, як ви надаєте веб-серверу потрібної йому пам’яті, вам потрібно буде або придбати більше оперативної пам’яті, або перемістити SQL на спеціальне обладнання.