如果我看任务pipe理器sqlservr.exe进程只使用约3.6 GB的内存。 这个数字是不是真的? 它不应该尝试使用所有可用的内存吗?
如果我运行DBCC MEMORYSTATUS,我会得到:
VM Reserved 16670136 VM Committed 3640664
它看起来像一个内存限制,我不应该在64位环境中看到..我怎么能得到SQL2005使用更多的内存?
不。如果你重新启动SQL服务器,服务器的内存将被返回给操作系统。设置的意思是一旦内存达到了SQL服务器消耗的12GB,SQL服务器将保留该内存。即使现在你不需要数据和事务是完整的,仍然内存将留在SQL服务器。所以一旦SQL服务器达到12 GB的消费,它将保留,直到您重新启动服务。
你有没有设置最低的服务器内存?
http://msdn.microsoft.com/en-us/library/ms178067.aspx
如果将最servlets器内存和最大服务器内存设置为相同的值,则SQL Server将为缓冲池分配该内存量(如果可用)。 当然,你并不想让SQL Server使用服务器上的所有内存 – 你至less需要为操作系统保留一些内存(数量取决于你是否在运行其他任何东西同一台机器)。
HTH。
您可以查看PerfMon中的目标服务器内存以查看SQL Server请求的内存量。 有点偏离主题,您可以比较总服务器内存和目标服务器内存,看看是否有内存限制。 当目标i大于总数时,您需要添加更多内存。