Tôi sẽ trả lời câu hỏi cuối cùng trước: Có, bạn có thể thay đổi nó trong khi máy chủ đang chạy mà không gặp vấn đề gì. Nếu bạn muốn thay đổi giá trị qua SQL, bạn có thể thực hiện với truy vấn sau
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 4096;
GO
RECONFIGURE;
GO
Xem trang này để biết thêm chi tiết về cài đặt bộ nhớ trên máy chủ SQL.
Câu hỏi đầu tiên của bạn, không may là câu trả lời là: Tôi không thể nói với bạn, tôi không ở đó.
Có 1.000.000 điều bạn cần tính đến khi phân bổ bộ nhớ. Làm thế nào lớn là tập kết quả từ các truy vấn, tần suất chúng chạy, một truy vấn được sử dụng để mất 20 ms có thể bây giờ mất 200 ms?
Mặc định của Sql giả định rằng đó là thứ duy nhất đang chạy trên máy chủ, do đó, nó chỉ đặt bộ nhớ thành MAX_VALUE và nó sẽ ngừng phát triển khi tất cả bộ nhớ khả dụng đang sử dụng (và trên phần cứng chuyên dụng khá gần với những gì bạn muốn xảy ra (xem Aarons bình luận cho một cảnh báo có thể)). Thông thường, bất kỳ máy chủ web hoặc phần mềm nào khác tương tác với cơ sở dữ liệu sẽ có phần cứng khác nhau giao tiếp với nó qua mạng.
Bạn thực sự chỉ cần đặt nó thành một giá trị mà bạn nghĩ là lành mạnh và nếu máy chủ web của bạn vẫn còn bộ nhớ bị bóp nghẹt. Nếu SQL không cung cấp cho bạn đủ hiệu năng sau khi bạn cung cấp cho máy chủ web bộ nhớ thì bạn cần mua thêm ram hoặc chuyển SQL sang phần cứng chuyên dụng.