Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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

share|improve this question
    
Why the x86 install? You won't really be loosing anything by installing an x64 SQL Instance. –  mrdenny Dec 21 '09 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. –  Chris Magnuson Dec 21 '09 at 13:49
add comment

3 Answers 3

up vote 5 down vote accepted

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.

share|improve this answer
    
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. –  Chris Magnuson Dec 21 '09 at 13:52
    
AWE is an OS concept, not a SQL one. msdn.microsoft.com/en-us/library/aa366527(VS.85).aspx –  Remus Rusanu Dec 21 '09 at 18:26
add comment

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

share|improve this answer
add comment

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

share|improve this answer
    
The link reffers to the x64 SQL. An x86 SQL process running in Wow64 still needs sp_configure 'awe enabled', 1 –  Remus Rusanu Dec 19 '09 at 0:32
    
Right you are, I misread the question. I would have to ask why install x86 SQL on x64 OS? –  SqlACID Dec 19 '09 at 1:39
    
See the my comment on the original question. –  Chris Magnuson Dec 21 '09 at 13:49
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.