SQL Server 日志中没有“将锁定的页面用于缓冲池”

cli*_*emi 4 sql-server memory locking

作为客户端的试运行,我试图在我的开发服务器上启用“锁定内存中的页面”设置,但无论我如何更改,我都无法在 SQL 中显示“使用锁定的页面作为缓冲池”服务器日志。在为客户做这件事之前,我想确保我能正确地做到这一点。

我们的开发服务器是带有 4 GB RAM 的 Windows 2003,SQL Server 2008 R2 标准版 32 位。

以下是我尝试过的:

  • 选中“使用 AWE 分配内存”。

  • 设置“最大服务器内存”设置。

  • 在 SQL Server 服务配置中添加启动参数 -T845。

  • SQL Server 服务在 LocalSystem 帐户上运行,因此根据我所阅读的内容,我不需要在“内存中的锁定页面”特权中输入帐户。但是,我确实尝试将服务更改为在“管理员”登录名下运行,并将该登录名添加到“锁定内存中的页面”特权中。

  • 重新启动 SQL Server 服务。

我所做的一切都不会放

使用锁定页面作为缓冲池

进入我的 SQL Server 日志,但当我运行 DBCC TRACESTATUS 时,845 跟踪似乎已打开。

任何人都知道为什么我所做的一切似乎都没有打开它?

Mar*_*ian 7

如我所见,您使用的是 32 位系统,因此请遵循此 MSDN 文章中的信息:我是否必须为本地系统分配内存中的锁定页面权限?. 它来自 MS 自己的 CSS 团队。

引用它:“如果您使用的是 32 位系统,则消息和算法略有不同。您应该在 ERRORLOG 中查找的消息如下:

地址窗口扩展已启用

如果权限设置不正确,您将看到以下消息:

无法使用地址窗口化扩展,因为未授予“锁定内存页面”权限。

除非将配置值“awe enabled”设置为 1,否则这些消息不会在 32 位系统上显示。如果在成功配置 AWE 后更改了“Lock Pages in Memory”权限,然后清除了该权限,则可以显示第二条消息您使用了 RECONFIGURE WITH OVERRIDE 并且未设置权限。”

另一篇关于“内存中的锁定页面”的详细文章来自著名的 sql 作家 Glenn Berry:SQL Server 和 Windows Server 中的“内存中的锁定页面”