如果我在 Windows Server 2008 x64 上安装 SQL Server 2005 x86,SQL 默认可以使用多少内存?设置 SQL Server 的 AWE 开关后可以使用多少内存?
这个帖子讨论使用 /3gb、/PAE 和 AWE 在 Windows Server 2008 x86 上适当地利用 SQL Server 2008 x86 内存。
根据该帖子和我在其他地方看到的相关信息,我的假设是,默认情况下,SQL Server 2005 x86 实例将能够在 Windows Server 2008 x64 上使用 4GB 内存,如果我启用 AWE,那么 SQL 将能够使用操作系统看到的尽可能多的内存。
PS:请注意您的答案是否适用于其他版本的 SQL 和/或 Windows Server。
谢谢
答案1
设置了 LargeAddressAware 位的 x86 进程(如 sqlservr.exe)会为自己获得完整的 4 GB VAS。启用 AWE(在支持它的 OS 和 SQL 版本上)允许 SQL 服务器实例将额外的页面(最多 64GB)映射进和映射出其 VAS 并将它们用于缓冲池。
话虽如此,x86 是死路一条,您应该尽快切换到 x64 实例。
答案2
SQL 2005 Standard/Enterprise 每个实例 4 GB。
x64 上的 x86 进程最多可使用 2GB RAM,如果应用程序使用 /LARGEADDRESSAWARE 开关编译/链接,则可使用 4 GB RAM。
看:Windows 版本的内存限制:
http://msdn.microsoft.com/en-us/library/aa366778%28VS.85%29.aspx