Recently during some internal discussions we had a lot of talk around the stack sizes for various SQL builds. Here is the summary of that talk:
|SQL Server Build||OS Build||Stack Size|
|SQL Server x86 (32-bit)||x86 (32-bit)||512 KB|
|SQL Server x86 (32-bit)||x64 (64-bit)||768 KB (see notes 1 and 2)|
|SQL Server x64 (64-bit)||x64 (64-bit)||2048 KB|
|SQL Server IA64 (64-bit Itanium)||IA64 (64-bit Itanium)||4096 KB (see note 3)|
- This (wow64 stack size) is confirmed from http://www.microsoft.com/technet/prodtechnol/sql/2005/diagandcorrecterrs.mspx: SQL Server 2000 running on X64 in WOW mode also uses more memory per worker (768 KB = 512 KB for standard stack + 256 KB used by WOW to support the stack).
- Also check http://support.microsoft.com/kb/916950 for an issue related to SQL 2000 x86 (really this should be the only case where this configuration might be used) running in WOW64 mode on x64 OS. http://msdn.microsoft.com/en-us/library/aa384219(VS.85).aspx mentions the overhead which is required for a 32-bit process running inside WOW64.
- Slava Oaks blogged specifically about this http://blogs.msdn.com/slavao/archive/2005/03/19/399117.aspx
I hope this summary helps someone out there!