4

If I install SQL Server 2005 x86 on Windows Server 2008 x64 how much memory will SQL be able to use be default? How much after setting SQL server's AWE switch?

This post talks about using /3gb, /PAE, and AWE to utilize SQL Server 2008 x86 memory appropriately on Windows Server 2008 x86.

My hypothesis based on that post and related information I have seen elsewhere is that by default a SQL Server 2005 x86 instance will be able to use 4GB of memory on Windows Server 2008 x64 and if I enable AWE then SQL will be able to use as much memory as the OS's sees.

PS: Please note if your answer generalizes to other version of SQL and or Windows Server.

Thanks

2
  • Why the x86 install? You won't really be loosing anything by installing an x64 SQL Instance. Commented Dec 21, 2009 at 9:35
  • This was to avoid the difficulty of upgrading our SQL Server 2005 license to an x64 license. I have heard that I can get the license upgraded for free by Microsoft but I was also curious to get the answer to this question just to better understand how x64 and x86 interact in this particular instance. Commented Dec 21, 2009 at 13:49

3 Answers 3

5

x86 processes with the LargeAddressAware bit set (like sqlservr.exe) get a full 4 GB VAS for themselves. Enabling AWE (on OS and SQL editions that support it) allows the SQL server instance to map extra pages (up to 64GB) in and out of its VAS and use them for the buffer pool.

That being said, x86 is a dead end and you should switch to an x64 instance ASAP.

2
  • What does enabling AWE on the OS mean? I haven't seen a way to do this and google isn't showing me any examples of enabling AWE in the context of the OS, only in the context of the SQL instance. Commented Dec 21, 2009 at 13:52
  • AWE is an OS concept, not a SQL one. msdn.microsoft.com/en-us/library/aa366527(VS.85).aspx Commented Dec 21, 2009 at 18:26
0

4 GB per instance for SQL 2005 Standard/Enterprise.

An x86 process on x64 can use a max of 2GB of RAM, or 4 GB if the application is compiled/linked with the /LARGEADDRESSAWARE switch.

See: Memory Limits for Windows Releases:

http://msdn.microsoft.com/en-us/library/aa366778%28VS.85%29.aspx

http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/04/02/link-32-bit-native-c-exes-with-largeaddressaware.aspx

-1

AWE is not needed for 64-bit systems; see this, SQL Server Standard or Enterprise will see whatever the operating system presents to it.

You'll need Windows Server 2008 Enterprise edition to see more than 32GB of RAM, Standard is limited to 32GB. Refer here

3
  • The link reffers to the x64 SQL. An x86 SQL process running in Wow64 still needs sp_configure 'awe enabled', 1 Commented Dec 19, 2009 at 0:32
  • Right you are, I misread the question. I would have to ask why install x86 SQL on x64 OS? Commented Dec 19, 2009 at 1:39
  • See the my comment on the original question. Commented Dec 21, 2009 at 13:49

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.