I don't know about 9x exactly (I suspect it's the same, but I'm not 100% sure), but OSes based on the NT kernel (NT/XP/2000) can access up to 4 gigabytes of memory. Each *process* can only use up to 2GB, though (that's the 32-bit addressing limit). There *are* ways around this limit, but very few programs use them due to their complexity and flakiness.
Windows Server, I believe, can handle more -- perhaps 16GB? That's not something I've dealt with personally.