Je vais d'abord répondre à la dernière question: Oui, vous pouvez le changer pendant que le serveur fonctionne sans problème. Si vous souhaitez modifier la valeur via SQL, vous pouvez le faire avec la requête suivante
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 4096;
GO
RECONFIGURE;
GO
Consultez cette page pour plus de détails sur la configuration de la mémoire sur le serveur SQL.
Votre première question, malheureusement la réponse est: je ne peux pas vous le dire, je ne suis pas là.
Vous devez prendre en compte 1 000 000 d'éléments lors de l'allocation de mémoire. Quelle est la taille des jeux de résultats des requêtes, à quelle fréquence sont-ils exécutés, une requête qui prenait auparavant 20 ms serait-elle correcte pour prendre maintenant 200 ms?
Les valeurs par défaut de Sql supposent que c'est la seule chose qui s'exécute sur le serveur, donc il définit simplement la mémoire à MAX_VALUE et il cesse de croître lorsque toute la mémoire disponible est utilisée (et sur du matériel dédié qui est assez proche de ce que vous voulez arriver (voir Aarons commente une éventuelle mise en garde)). Normalement, tout serveur Web ou autre logiciel interagissant avec la base de données se trouverait sur un matériel différent communiquant avec elle via le réseau.
Vous avez vraiment juste besoin de le définir sur une valeur qui vous semble raisonnable, et si votre serveur Web est encore obstrué, abaissez-le. Si SQL ne vous donne pas suffisamment de performances après avoir donné au serveur Web la mémoire dont il a besoin, vous devrez soit acheter plus de RAM, soit déplacer le SQL vers du matériel dédié.