I recently got an interesting explanation on why x64 is more interesting when your system has more than 4 Gb of memory.
The background is the size of the memory.
An x86 server system can manage a maximum of 4 GB of memory. This limits the addressable memory space for Windows server 2003 systems to 4 GB. (This is true for all 32-bit operating systems). With 2 GB reserved for the operating system by default on 32-bit Windows, only 2 GB of memory remains for SQL 2000 or SQL Server 2005 x86. You can increase this amount to 3 GB by setting a /3GB switch in a Windows BOOT.INI. In order to use more than 4 GB of memory AWE must be enabled. AWE is a set of memory management extensions to the Microsoft Win32 API that allows SQL Server x86 to address memory beyond 4 GB. Using AWE, applications can acquire physical memory as nonpaged memory, and then dynamically map views of the nonpaged memory to the 32-bit address space. AWE enables SQL Server 2000 and 2005 x86 to address larger amounts of data. Now, this is old news, everybody knows that.
Although AWE makes execution of memory-intensive applications possible when otherwise impossible, AWE imposes overhead, adds initialization time, and can face performance challenges under various processing conditions. The use of AWE in a x86 environment is only for data caching so plan caching, sort space, and lock memory are still limited to 2 GB of memory in x86!!
These issues are eliminated on the x64 platform when directly addressing memory as AWE is no longer necessary. In x64 environments you are no longer limited to 2 GB for memory for plan caching, sort space, and lock memory. For any Dynamics - NAV implementation that will use more than 4 GB of memory for SQL Server, a x64 is recommended.
The expanded lock memory available when utilizing SQL Server 2005 x64 would be very beneficial if you plan on using the “Always Rowlock” database option in Dynamics - NAV as you could exceed the 2 GB of lock memory limit that exists on x86
I thought this info would be useful for everybody
You can find the boot.ini in the C-root (c:\).
But you'll have to unhide the "protected operating system files" in the folder options.
where i can find what boot.ini?
thanks so much
Indeed. The switches in boot.ini and AWE in SQL Server seem to be your things to use...
So, given the info above, it looks like AWE as you describe would be our best alternative, right?
Well, we are currently using 2.6/2000 and looking to upgrade the server, trying to take advantage of more RAM, but only can with x64
No, it does not, I'm afraid. You need a special x64 xp_ndo.dll as well.
Is a runtime upgrade an option?
Does 2.6 support x64?
That is very true indeed ... but not known by many people, I guess.
I use a simple economics argument to convince customers.
1. They're most likely buying a server that will support 64 bit
2. The cost of 32 or 64 bit software (Windows & SQL) is the same.
3. A 32 bit standard Windows/SQL install will support 2-3 GB of memory
4. A 64 bit standard Windows/SQL install will support 32 GB of memory.
5. Adding memory to the 32 bit system will require an upgrade to enterprise editions of both Windows & SQL. Even with discounts this can be in the $10,000 + range plus memory
6. Adding memory to the 64 bit system means just buying the memory.