让您的 Web 服务器为 32 位而您的 sql 服务器为 64 位应该不会造成问题。也就是说,只要您的 Web 服务器进程不消耗太多内存。通常,Web 服务器和中间层相当薄,而 sql 服务器在消耗内存方面更加激进(尽可能缓存)。
它将影响多少可寻址空间:
http://en.wikipedia.org/wiki/32bit
32 位内存地址可直接访问 4 GB 字节可寻址内存
也就是说,只要你有一个支持 64 位的处理器(现在大多数都是这样),并且你所依赖的所有应用程序和驱动程序都能够在 64 位操作系统上运行,那么没有太多理由不运行 64 位操作系统. .net 堆栈和您在 .net 中编写的所有内容都可以在 .net 上正常运行 - 它可以按需编译为 IL 和 JIT 为 32/64 位二进制文件。检查您的项目构建/编译选项以确保您不强制使用 32 位并检查 IIS 中的应用程序池设置。最后,确保您没有加载任何本机 IIS ISAPI 扩展等...有点不匹配。
您的 Web 服务器和 sql 服务器在不同的机器上运行,并且在不同的进程中可能通过套接字之类的东西通过网络进行通信,因此每个人都不知道对方有多少可寻址内存。每个都是一个黑匣子,有一个商定的网络协议。