我想在银行的一台刀片服务器上进行一些性能监控,但遇到了一个小障碍。当我尝试通过性能管理器创建一个相当标准的计数器日志时,我注意到可用的计数器不存在 SQL Server 对象。很奇怪。
高级 SQL Server 规格:
Windows NT 5.2(Windows Server 2003)(Build 3790:Service Pack 2)上的 Microsoft SQL Server 2005 - 9.00.4053.00(X64)(Service Pack 3)标准版(64 位)
我参考过这篇 MSDN 博客文章我想这只是一个已知问题的参考信息。请告诉我你的想法。我真的很想跟踪这些东西并设置一个性能基准,但如果我甚至无法计算以下因素,这将非常具有挑战性:
SQLServer:BufferManager - 缓冲区缓存命中率
SQLServer:BufferManager - 页面预期寿命
SQLServer:常规统计 - 用户连接
SQLServer:MemoryManager-内存授予待定
答案1
这个问题最常见的原因是使用了错误的平台计数器监控应用程序。例如,在 SQL Server 是 32 位时运行 64 位 perfmon.exe,反之亦然。您必须小心,因为从 WoW64 子系统启动的进程停留在 WoW64 中(例如,如果您运行 32 位 cmd.exe 并键入 perfmon,那么它将启动 32 位 perfmon.exe)。由于您说 SQL Server 本身是 64 位,因此您似乎以某种方式从 WoW64 子系统(可能是 Visual Studio?)启动了监控工具。请确保您启动了 64 位 perfmon(或 logman.exe)。
答案2
好吧,我想我必须在这里回答我自己的问题,或者更确切地说,参考另一个 URL,该 URL 上有关于如何处理此问题的说明,对我来说非常有效。如果您遇到此问题,请参阅http://blogs.msdn.com/b/john_daskalakis/archive/2009/05/07/9593110.aspx。
非常简单,简洁,直观,最重要的是:有效。
再见。