SQL Server 2008 R2 默认锁定内存页吗?

SQL Server 2008 R2 默认锁定内存页吗?

是否有人知道 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

相关内容