Если я посмотрю в диспетчере задач, процесс sqlservr.exe использует только около 3,6 ГБ памяти. Это число не настоящее? Разве не следует пытаться использовать всю доступную память?
Если я запускаю DBCC MEMORYSTATUS, я получаю:
VM Reserved 16670136
VM Committed 3640664
Похоже, ограничение памяти, которое я не должен видеть в 64-битной среде ... как я могу заставить SQL2005 использовать больше памяти?
Вы установили минимальный объем памяти сервера?
http://msdn.microsoft.com/en-us/library/ms178067.aspx
Если вы установите одинаковое значение минимальной и максимальной памяти сервера, SQL Server выделит этот объем памяти (если он доступен) для пула буферов. Конечно, вы действительно не хотите позволять SQL Server использовать все памяти на вашем сервере - вам необходимо зарезервировать хотя бы часть ее для ОС (количество зависит от того, используете ли вы что-либо еще на той же машине).
HTH.
Нет, если вы перезапустите SQL-сервер, служебная память будет возвращена операционной системе. Этот параметр означает, что как только объем памяти достигнет 12 ГБ, потребляемого SQL-сервером, SQL-сервер сохранит эту память. Даже если теперь вам не нужны данные и транзакция. После завершения, все равно память останется с SQL-сервером. Таким образом, как только SQL-сервер достигнет потребления 12 ГБ, он сохранит это навсегда, пока вы не перезапустите службу.
Вы можете взглянуть на память целевого сервера в PerfMon, чтобы узнать, сколько памяти запрашивает SQL-сервер. Немного оффтоп, вы можете сравнить общую память сервера и память целевого сервера, чтобы увидеть, есть ли у вас ограничения памяти. Когда цель i больше, чем total, вам нужно добавить больше памяти.