AWE – Address Windowing Extensions. Honestly I have heard the term before, and I knew that the person/article stating the term was talking memory. So I set out to get a clearer understanding of what AWE meant and how it relates to SQL Server.
From M$ web site: Address Windowing Extensions (AWE) allow 32-bit operating systems to access large amounts of memory.
My first question from that is how? How does that work? Some more searching led me to this from Microsoft’s web site:
Microsoft SQL Server uses the Microsoft Windows Address Windowing Extensions (AWE) API to support very large amounts of physical memory. SQL Server can access up to 64 gigabytes (GB) of memory on Microsoft Windows 2000 Server and Microsoft Windows Server 2003.
So from that we know the following:
* AWE is a set of memory management extensions (API)
* Only applicable to 32bit Systems
* Will increase the amount of memory SQL Server can support
Standard 32-bit addresses can map a maximum of 4GB of memory. You can find several articles on the Boot.ini hack to override the windows default of 2GB to SQL, 2GB to OS. The override will get you another 1GB so that 3GB is dedicated to SQL Server while 1GB is reserved for the OS.
So yes you can use AWE to allow SQL server to allocate more memory, however the memory can only be used by SQL Server data buffers and cannot be used for things like caching query plans, sorting, indexing, user connections, etc. And best guess is that enabling AWE adds some overhead that you would not see in a pure 64bit installation. Before you utilize AWE, if the budget is there, and you need to address more than 3GB of RAM you may want to go the 64bit route.