我在 Web 服务器上运行了一个 SQL Server 2008 R2 实例,我想监控它正在运行的进程或它维护的锁。SQL Server 进程将逐渐(运行一周左右)占用大约 80-90% 的内存,因此一定有什么东西占用了服务器。有没有标准工具或任何第三方工具可以使用?
短暂性失眠!
答案1
SQL Server 进程将逐渐(运行一周左右)占用大约 80-90% 的内存,因此一定有什么东西占用了服务器。
如果每次有人没有阅读文档而问这个问题时我都能得到一分钱,那么我就会成为亿万富翁了。
SQL Server 按照标准配置使用所有可用内存作为缓存。以加快速度。
如果您不同意,请转到服务器属性并告诉 SQL Server 它可以使用多少内存。它会很乐意遵守这一点。
否则,再次强调,每个读取的数据都会被缓存。要点。当新页面被读入时,旧页面会被释放。
为什么
因为读取光盘的速度很慢。
大多数“真正的”sql server 安装在专用机器上运行。这使得默认行为非常可取。
这里没有什么问题,只是管理员没有正确配置 SQL 服务器;)
答案2
有很多第三方工具可供使用,例如 Quest、Idera、SQLSentry 等等。
您所建议的听起来很像 SQL Server 的正常行为,它会尝试获取它认为需要的内存。您的第一个最佳选择是使用性能监视器并记录到文件并分析结果。
看一下 http://support.microsoft.com/kb/298475 和 http://msdn.microsoft.com/en-us/library/dd672789.aspx
作为一个小的选择……