Jun 1, 2008
Tip and Trick Editorial

Enable Lock Pages in Memory to Prevent Database Paging to Disk

Lock Pages in Memory is a Windows security setting policy that determines which accounts can use a process to keep data in physical memory, which prevents the system from paging the data to virtual memory on disk, directly improves the response time speed of the process, especially data-intensive program such as SQL Server database management system, as access time from RAM is definitely faster than disk I/O.

Lock Pages in Memory option privilege must be enabled to configure Address Windowing Extensions (AWE) which allow a 32-bit software application to access more physical memory than it has virtual address space. Both settings are normally used to optimize Microsoft SQL Server database server running on Windows 2000, Windows Server 2003 and Windows Server 2008 by allowing the user account running SQL Server to load the whole process in physical memory without using any paging file flow over to disk.

Note that exercising or enabling this privilege could significantly affect system performance by decreasing the amount of available random access memory (RAM). So, a system is recommended to have large memory size, typically bigger than 4 GB. Which mean that on 32-bit operating system, PAE has to be enabled, although neither Lock Pages in Memory nor AWE depend on PAE. Beside, on 32-bit operating systems, setting this privilege when not using AWE can significantly impair system performance. However, on 64-bit operating system, although not required, it’s recommend to lock pages in memory.

To enable Lock Pages in Memory setting, system administrator has to use the Windows Group Policy tool (gpedit.msc) to enable this policy for the account used by SQL Server.

  1. On the Start menu, click Run. In the “Open” box, type gpedit.msc.
  2. On the “Group Policy” console, expand Computer Configuration, and then expand Windows Settings.
  3. Expand Security Settings, and then expand Local Policies.
  4. Select the User Rights Assignment folder.
  5. In the right details pane, double-click Lock pages in memory.

    Lock Pages in Memory Policy

  6. In the “Local Security Policy Setting” dialog box, click Add.
  7. In the “Select Users or Groups” dialog box, add an account with privileges to run sqlservr.exe (e.g. NetworkService).
Get latest updates via email: