最近我在我们的一个数据库服务器上执行操作系统升级,从 Server 2003 移动到 Server 2008。DBMS 是 SQL Server 2005。在新的 Windows 安装上重新安装 SQL 时,我去了我们的另一台数据库服务器来验证几个的设置。
现在,我一直认为这第二台服务器是 Server 2003 x64 + SQL 2005 x64(据我所知),但我现在对此表示怀疑。我现在怀疑它实际上只是 32 位 SQL,但是我想验证一下。
这里有一些细节:
操作系统绝对是 64 位的。
xp_msver
显示Platform
为NT INTEL X86
SELECT @@VERSION
节目Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86)...
但是 sqlservr.exe 在 taskmgr 中没有显示为 '* 32',有谁知道为什么会这样,如果它实际上是声称的 32 位?尽管如此,它似乎确实用完了 x86 程序文件文件夹。
如果我对已确认的 64 位安装进行相同的检查,它确实会返回预期的 64 位读数,这只能证明该服务器仅以 32 位运行。
现在,既然如此,问题就出现了这个“32 位”安装可以使用多少内存。任务管理器报告 sqlservr.exe 的内存使用量约为 3.5GB(服务器有 16GB 物理空间)。我怀疑 AWE 根本没有配置,因此如果 SQL 只是使用 32 位地址空间,那么服务器将被严重利用不足(记住操作系统是 64 位)。
这个假设正确吗?
我觉得服务器应该将 SQL 重新安装为 64 位,以便充分利用硬件平台,但它目前正在大量生产;这绝非易事。我怀疑我们可能只需要正确配置 AWE 并暂时搁置它(除非这是一个坏主意?)。
我很抱歉这个问题有点含糊/迷失;我不是 SQL 专家,只是想了解这里发生的事情。
这篇文章列出了两种不同的检查方法(第一种是@@version,它表明您正在运行 32 位版本的 SQL Server),但要保存点击,
结果将类似于:
32 位:企业版
64 位:开发者版(64 位)
你也可以使用
这将显示类似 -
在您的安装介质中,您看到的是 x64 还是 x86 目录?如果不是,我相信您的媒体将只有 32 位。
这将解释为什么您的 64 位操作系统上只运行 32 位版本。
该磁盘是盒装购买还是从 MSDN 或 Technet 下载?
我不会评论你是64位还是32位。你问的是AWE,所以我会回答那部分,因为我在这里有一些经验。
我在类似的情况下使用过 AWE,它暂时对我们很有效。
当然,最终我们确实迁移到了完全 64 位系统,但 AWE 允许我们使用更多 RAM。如果我记得的话,还要看看 boot.ini 中的 /3GB 开关。如果您可以在交换之前启用 AWE 来测试您的安装,那显然是有益的。我们要求我们的托管托管服务提供商将其打开,他们曾与我们合作过一个 DBA,他之前在这方面有一些经验。我们在清晨的维护窗口中安排了更改,进行了更改,重新启动并开始测试。它实际上也为我们带来了很多性能。
据我回忆,您无法轻易看出 SQL Server 使用了多少内存——taskmgr.exe 并没有说明全部情况。您必须运行 perfmon 并实际深入到 SQL 服务器计数器,以查看 SQL 实际访问了多少 RAM。
我建议您先阅读,但这是一个很好的途径,直到您可以更永久地解决这种情况。
http://blogs.msdn.com/chadboyd/archive/2007/03/24/pae-and-3gb-and-awe-oh-my.aspx http://msdn.microsoft.com/en-us/library /ms190673.aspx