I am getting a Windows server with the option for Windows Server 2008 32-bit and Windows Server 2008 64-bit. I will only be running IIS7 and SQL Server 2008 Express. Which should I use and what are the indications?
I am getting a Windows server with the option for Windows Server 2008 32-bit and Windows Server 2008 64-bit. I will only be running IIS7 and SQL Server 2008 Express. Which should I use and what are the indications?
If you need to run 64-bit applications such as Exchange Server, you need 64-bit.
If you have more than 4 GB of memory, or plan to have them in the future, you need 64 bit.
Also, keep in mind that the next Windows releases will only be 64-bit (Windows Server 2008 R2 already is), as well as all Microsoft server products; so it's best to move forward as soon as possible.
Generally speaking, there is no reason to stick to a 32-bit server O.S., unless you need to run applications (or to load drivers) that don't work on a 64-bit one. IIS on 64-bit systems is also able to work in 32-bit compatibility mode, if you have this need.
BTW, why are you getting Windows Server 2008, instead of the more current Windows Server 2008 R2?
As I understand it, Windows Server 2008 R2 and onwards will be 64bit only. It's the way of the future because most processors out there are now 64 bit.
You can still run 32-bit applications under 64bit windows although device drivers must be 64bit. I've run into some occasional issues with 32 bit applications. However, I've usually managed to get them to go though either will a little tinkering of the system and/or finding the missing 32-bit libraries they need.
So, clearly the shift is away from 32 bit applications. Go with 64-bit where possible.
I would only use 32bit Windows Server if it can't run on the hardware that you have. But then if your hardware is that old I think you should consider upgrading that.
Some 64bit processors are missing the virtualization extensions. Although they can run 64bit windows natively, they can't load it virtualized on the same hardware. In that case, we had to run Server 2008 R1 32bit. This problem was found with some now obsolete IBM HS20 Blade servers so watch out for that.
EDIT: I should add that all major virtualization platforms these days utilize the processor virtualization extensions (for Intel that's VTx). These are required to load 64bit OS's onto them. You also need a native 64bit host OS unless you're using something like ESXi. i.e. if you loaded Linux 32bit and installed VMWare Server you won't be able to run a 64bit windows virtual machine on that. But if you have 64bit linux host you can run 32bit or 64bit windows virtual machines on it.