我最近在SQL Server上遇到这个问题,因为内存没有明显的原因导致性能低下。 我在32位SQL Server标准版上运行64位操作系统。
检查错误日志揭示了这一点:
sql服务器进程内存的一个重要部分已被分页。 这可能会导致性能下降
显然这个问题的解决方法是使SQL Server能够locking内存中的页面。 解决方法可以从这里读取。
然而! 根据MSDN的说法,在不使用AWE的情况下在内存中启用locking页面会显着影响我的系统。 我目前的设置没有足够的RAM(2 GIGS)来利用这个function。
那么给了什么? 如果我没有实施修复,SQL Server会变慢。 如果我这样做,它也会减慢。
有没有人有任何想法或经验呢?
我不认为MSDN条目是正确的。 进一步阅读社区意见:
对本主题第一段的更正从客户的反馈意见中可以看出,本主题的开头段落并不完全清楚。 请把以下作为正式的第一段:
如何启用内存中的locking选项(Windows)默认情况下,Windows策略locking内存页面选项处于禁用状态。 必须启用此权限才能configuration地址窗口化扩展(AWE)。 此策略确定哪些帐户可以使用进程将数据保留在物理内存中,防止系统将数据分页到磁盘上的虚拟内存。 在32位操作系统上,不使用AWE时设置此权限可能会严重影响系统性能。在64位操作系统上通常不需要将内存中的页面locking。 只有在使用大页面内存支持或configurationSQL Server时,您才需要在64位操作系统上启用此权限,以使缓冲池内存不会被分页。 使用Windows组策略工具(gpedit.msc)为SQL Server 2005数据库引擎使用的帐户启用此策略。 您必须是系统pipe理员才能更改此政策。