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) |
Notes:
- 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!