Сначала я отвечу на последний вопрос: Да, вы можете изменить его, пока сервер работает без проблем. Если вы хотите изменить значение с помощью 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 на выделенное оборудование.