Saya akan menjawab pertanyaan terakhir terlebih dahulu: Ya, Anda dapat mengubahnya saat server berjalan tanpa masalah. Jika Anda ingin mengubah nilai melalui SQL, Anda dapat melakukannya dengan kueri berikut
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 4096;
GO
RECONFIGURE;
GO
Lihat halaman ini untuk detail lebih lanjut tentang pengaturan memori pada SQL server.
Pertanyaan pertama Anda, sayangnya jawabannya adalah: Saya tidak bisa memberi tahu Anda, saya tidak ada di sana.
Ada 1.000.000 hal yang perlu Anda pertimbangkan saat mengalokasikan memori. Seberapa besar set hasil dari kueri, seberapa sering dijalankan, apakah kueri yang digunakan untuk mengambil 20 md menjadi ok untuk sekarang mengambil 200 md?
Default Sql mengasumsikan bahwa itu adalah satu-satunya yang berjalan di server, jadi itu hanya mengatur memori ke MAX_VALUE dan berhenti tumbuh ketika semua memori yang tersedia sedang digunakan (dan pada perangkat keras khusus yang cukup dekat dengan apa yang Anda inginkan terjadi (lihat Aarons berkomentar untuk kemungkinan peringatan)). Biasanya setiap server web atau perangkat lunak lain yang berinteraksi dengan database akan menggunakan perangkat keras yang berbeda untuk berkomunikasi melalui jaringan.
Anda benar-benar hanya perlu mengaturnya ke nilai yang Anda pikir waras, dan jika server web Anda masih tersendat, ingatanlah yang lebih rendah. Jika SQL tidak memberi Anda kinerja yang cukup setelah Anda memberikan server web memori yang dibutuhkan, Anda perlu membeli lebih banyak ram atau memindahkan SQL ke perangkat keras khusus.