It is important to make sure you set the Max server memory setting for SQL Server 2005/2008 to something besides the default setting (which allows SQL Server to use as much memory as it wants, subject to signals from the host OS that it is under memory pressure). This is especially important with larger, busier systems that may be under memory pressure. This setting controls how much memory can be used by the SQL Server Buffer Pool. If you don’t set an upper limit for this value, other parts of SQL Server, and the operating system can be starved for memory, which can cause instability and performance problems.
This is for x64, on a dedicated DB server.
Physical RAM (GB) | MaxMem Setting |
2 | 1500 |
4 | 3200 |
6 | 4800 |
8 | 6700 |
12 | 10600 |
16 | 14500 |
24 | 22400 |
32 | 30000 |
48 | 45000 |
64 | 59000 |
You can set this value with Transact-SQL like this (it may take 1-3 minutes to complete)
-- Turn on advanced optionsEXEC sp_configure 'Show Advanced Options', 1GORECONFIGUREGO-- See what the current value is for 'max server memory (MB)'EXEC sp_configure-- Set max memory = 45000MBEXEC sp_configure 'max server memory (MB)', 45000GORECONFIGUREGO