【发布时间】:2019-09-24 13:41:49
【问题描述】:
关于 RAM、升级和 SQL Server 使用的 2 个问题 -
升级 RAM 是自动增加对 SQL Server 的分配还是必须通过
SP_CONFIGURE手动配置?在通过
SP_CONFIGURE手动配置之前,我们能知道最初分配给SQL Server的是什么吗?如果我从SELECT object_name, cntr_value FROM SYS.DM_OS_PERFORMANCE_COUNTERS WHERE counter_name IN ('Total Server Memory (KB)','Target Server Memory (KB)')收集值,我可以找到,但我没有。 那么,有没有办法找到历史配置呢?
--在“思想”中……
【问题讨论】:
-
虽然具体的答案需要知道您使用的是哪个版本的 SQL Server,但this article 给了它一个很好的处理方法。 TL; DR:“无论您在系统中放入多少内存,SQL Server 都会使用它所能获得的所有内存,直到它在内存中缓存整个数据库,然后再缓存一些。”
-
我一直认为 SQL Server 默认会使用所有可用的 RAM,除非您特别设置了通常不建议的下限
-
为什么要问这个问题?你有实际问题吗?您添加 RAM,除非您明确指定上限,否则 SQL Server 会使用它。我们不知道你是否这样做。您可以在 SSMS 中的服务器属性中进行检查
-
性能计数器也与此问题无关,也与 配置 无关。顾名思义,这些是 Windows 的性能计数器
-
添加更多 RAM 不会“自动”更改任何设置,包括内存使用情况。默认情况下,当它被安装时,它被设置为“无限” *实际上不是无限的。如果您为服务器设置最大/最小内存使用量,它将使用它所需的内存,直到这些值。假设这些金额实际可用。
标签: sql-server performancecounter