是否有人知道 SQL 2008 ENT R2 x64 的锁定页面是否在 Server 2008 R2 x64 上默认开启(我假设它确实如此,因为我的 SQL 内存使用情况未显示在任务管理器中)。
如果是这样,这是否会导致竞争部分内存的 .net 应用程序出现过多的页面错误?
因此限制机器上的 SQL 内存是否明智?
或者,他们都应该表现得友好一些?
谢谢马特
编辑2010/10/25 -
来自错误日志
更多信息 -
我安装了我的机器以作为管理员服务运行。我将其作为新实例与现有 SQL 05 Ent 数据库并排安装。
以下是日志的一部分 -
已启用大页面扩展。
2010-10-22 21:32:38.78 服务器大页面粒度:2097152
2010-10-22 21:32:38.79 服务器大页面分配:32MB
2010-10-22 21:32:38.79 服务器大页面分配:32MB
2010-10-22 21:32:38.80 服务器使用锁定页面作为缓冲池。
2010-10-22 21:32:38.86 服务器使用动态锁分配。每个节点初始分配 2500 个锁块和 5000 个锁所有者块。这只是一条信息性消息。无需用户操作。
2010-10-22 21:32:38.86 服务器锁定分区已启用。这只是一条信息性消息。无需用户采取任何措施。
我认为这确认了页面锁定已开启?请参阅下面有关管理员的评论。
答案1
默认情况下,服务器上未启用该设置。需要将其授予运行 SQL 服务的帐户,但这可以通过 GPO 自动完成。
这是否会导致 .net 应用程序在竞争部分内存时出现过多的页面错误?
是的,如果启用了锁定页面就可以。
因此限制机器上的 SQL 内存是否明智?
是的,你应该始终限制 SQL Server 可以使用的内存上限。这可以通过在对象资源管理器中编辑服务器的属性或使用 sp_configure 系统存储过程来实现。
或者,他们都应该表现得友好一些?
不,SQL Server 默认会使用服务器上的所有内存,从而导致系统上的其他应用程序无法运行。
答案2
为了验证,请检查上次启动时的 SQL 日志,如果未启用,您将看到:
无法使用大页面扩展:未授予锁定内存权限。
..正如 MrDenny 所说,SQL 实际上并不能与其他应用程序很好地兼容,它假定它拥有服务器,除非另有说明..
答案3
根据这篇文章,选项是不是默认激活:http://msdn.microsoft.com/en-us/library/ms190730.aspx。