我们的内存8GB的SQL服务器似乎是超时。 我得到的build议是增加更多的内存。 问题是多less? 一个人说,SQL服务器将使用所有可用的内存“无论你把它多less”(如果一个糟糕的sp运行amok ..)。
有没有一个自动化的报告,我可以跑内存使用达到80%时通知我? 我们是否需要第三方程序来监视内存使用情况?
SQL将尝试使用所有可用的物理内存,以便将所有可能的数据加载到内存中,并限制磁盘I / O。 你可能会考虑的(如果你还没有的话)是在SQL Server中设置最大内存选项。 我通常将其设置为比总物理内存(专用于SQL Server的盒子)less2-3 GB。 这样,操作系统将有一些工作与SQL不会碰。 如果您在服务器上运行其他服务,则需要根据自己的需要进行调整。
关于这些报告,有无数的监测解决scheme可供您观看,并在您的内存消耗正在上升时收到警报。
为SQL服务器提供大小推荐是很困难的 。 您应该使用性能监视器来检查SQL服务器计数器是否存在可能的瓶颈。
在讨论大小问题时也很重要:根据所使用的SQL服务器的版本和版本,有一个编程的硬内存限制。 它可能从1 GB(Express版本)到OS最大(64位Datacenter版本)。 有关详细信息,请参阅相应版本的版本比较表 。
你没有说明你正在运行的SQL Server的版本和版本,但是没有附带的数据来支持这种警告的build议,比如“添加更多的内存”,这是不好的build议。 如果你正在运行SQL Server 2005,这可能会有所帮助: