Address Windowing Extensions (AWE) requires the 'lock pages in memory' privilege which is not currently present in the access token of the process
The main difference betwen 32 bit and 64 bit server is Memory, you may be aware about 'Lock Page in memory' privilege to be granted to the SQL Server service accout within 32 bit based servers.
This is a operating system based privilege that is required by SQL Server service account to allow locking of physical memory preventing OS paging of the locked memory. Within 32 bit architecture systems irrespective of edition i.e., standard, enterprise and developer editions, this privilege needs to be granted to the sql server service account in order to use the AWE mechanism.
Before performing such a huge changes to your server configuration ensure to check whether it is enabled or not by using following process:
--To show advanced options of your SQL configuration
sp_configure 'show advanced options', 1
go
reconfigure with override
go
--To check whether AWE enabled or not
sp_configure 'awe enabled', 1
go
reconfigure with override
go
Here comes the trouble, if the lock pages in memory privilege has not been granted to the service account, then you will get following error message:
Msg 5845, Level 16, State 1, Line 1
Address Windowing Extensions (AWE) requires the 'lock pages in memory' privilege which is not currently present in the access token of the process.
Further down I will refer about how to enable this privilege within the Operating System, before that it is good to go through the requirement within 64 bit systems too. The above approach will be different in 64 bit machines, where you can get brief information by executing 'dbcc memorystatus'. Based on the results if you see the value within 'AWE Allocated memory' is 0 then lock pages in memory privilege has not been granted to the service account or you haven't attempted to restart SQL Server services after this has been granted in order to affect this change.
To check the account used for SQL Server services you can make use of SQL Server Configuration manager, by using Start --> run --> type 'sqlservermanager.msc' that will open Sql Server configuration manager API. Click Sql Server 2005 services and it will list all the services on the right side window. Double click the service named 'Sql Server(MSSQLSERVER)' and go to logon tab and it will display the service account under which Sql Server is running.
Further to grant the privilege of lock pages in memory for SQL Server service account refer to this article ‘How to: Enable the Lock Pages in Memory Option (Windows)’ and don't forget to restart the SQL Server services and sometimes a server reboot will also help.
**__________________________________**
SQL Server MVP, Sr. DBA & industry expert.
-
Knowledge is of two kinds. We know a subject ourselves or we know where we can find information on it. It is also a power and you will gain by sharing it.