作为客户端的试运行,我试图在我的开发服务器上启用“内存中的锁定页面”设置,但无论我更改什么,我都无法在 SQL 中显示“使用锁定页面作为缓冲池”服务器日志。在为客户做这件事之前,我想确保我能正确地做这件事。
我们的开发服务器是 Windows 2003,具有 4 GB RAM,SQL Server 2008 R2 Standard Edition 32Bit。
以下是我尝试过的:
选中“使用 AWE 分配内存”。
设置“最大服务器内存”设置。
在 SQL Server 服务配置中添加了启动参数 -T845。
SQL Server 服务在 LocalSystem 帐户上运行,因此根据我的阅读,我不需要在“锁定内存中的页面”权限中输入帐户。但是,我确实尝试将服务更改为在“管理员”登录下运行,并将该登录添加到“锁定内存中的页面”权限。
重新启动 SQL Server 服务。
我所做的一切都不会
对缓冲池使用锁定页面
到我的 SQL Server 日志中,但是当我运行 DBCC TRACESTATUS 时,845 跟踪似乎已打开。
任何人都知道为什么我没有做任何事情来打开它?
如我所见,您使用的是 32 位系统,因此请遵循此 MSDN 文章中的信息:我是否必须为本地系统分配内存中的锁定页面权限?. 它来自 MS 自己的 CSS 团队。
引用它:“如果您使用的是 32 位系统,则消息和算法略有不同。您应该在 ERRORLOG 中查找的消息如下:
地址窗口扩展已启用
如果权限设置不正确,您将看到以下消息:
无法使用地址窗口扩展,因为未授予“在内存中锁定页面”权限。
除非配置值 'awe enabled' 设置为 1,否则这些消息将不会显示在 32 位系统上。如果在成功配置 AWE 后更改了“Lock Pages in Memory”权限然后清除了权限,则可以显示第二条消息,或者您使用 RECONFIGURE WITH OVERRIDE 并且未设置权限。"
另一篇关于“Lock pages in memory”的详细文章来自著名的 sql 作家 Glenn Berry:SQL Server 和 Windows Server 中的“Lock pages in memory”。