有谁知道SQL 2008 ENT R2 x64的locking页面是否在默认情况下运行(我假设这是因为我的SQL内存使用情况不会显示在任务pipe理器中)在Server 2008 R2 x64上。
如果是这样,这可能导致一个.net应用程序竞争一些内存有过多的页面错误?
因此限制计算机上的SQL内存是明智的做法吗?
或者,他们都应该玩得好吗?
谢谢Matt
编辑25/10/2010 –
从ERRORLOG
更多信息 –
我安装了我的机器作为pipe理员服务运行。 我将它作为新的实例与现有的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服务器使用locking页面缓冲池。
2010-10-22 21:32:38.86服务器使用dynamiclocking分配。 为每个节点初始分配2500个锁块和5000个锁拥有者块。 这只是一个信息性消息。 无需用户操作。
2010-10-22 21:32:38.86服务器锁分区已启用。 这只是一个信息性消息。 无需用户操作。
我认为这确认locking页面是? 请参阅下面的pipe理员评论。
该设置默认情况下未在服务器上启用。 这需要授予运行SQL服务的帐户,但可以通过GPO自动完成。
这可能会导致.net应用程序争夺一些内存有过多的页面错误?
是的,如果locking页面被启用,它可以。
因此限制计算机上的SQL内存是明智的做法吗?
是的,你应该总是限制SQL Server可以使用的内存的上限。 这可以通过在对象资源pipe理器中编辑服务器的属性来完成,也可以通过使用sp_configure系统存储过程来完成。
或者,他们都应该玩得好吗?
不,SQL Server默认使用服务器上的所有内存,使系统上的其他应用程序挨饿。
要validation,请检查上次启动时的SQL日志,如果未启用,您将看到:
无法使用大页面扩展:locking内存特权未被授予。
正如Mr Denny所说,SQL对其他应用程序并不是很好,它假定它拥有服务器,除非另有说明。
根据这篇文章,该选项默认情况下是不活动的: http : //msdn.microsoft.com/en-us/library/ms190730.aspx 。