我一直在四处看看,但这些日子我的谷歌效果似乎不太好。我正在尝试查找有关SQL Server实例的最小和最大内存设置的更多信息。
如果打开SQL Server Management Studio,右键单击某个实例,然后转到左侧菜单中的“内存”选项卡,可以找到该实例的最大和最小内存。据我所知,这将SQL Server实例的内存使用量设置为最多(至少)如此多的内存使用。但是,这意味着什么?
假设我有一台装有8 GB内存的机器,我安装了SQL Server。我将实例设置为最小和最大内存为5 GB,因此理论上这应该意味着SQL总是使用5 GB的内存。我的问题围绕着最低限度的设定。如果没有应用程序连接到SQL Server实例并从数据库写入/读取数据,那么分配的5 GB肯定无法使用,可以吗?我的理解是,这个最小设置只是“如果你需要它,这个内存专用于SQL Server”。
假设应用程序连接到SQL Server数据库并需要2 GB内存。总内存使用量仍然是5 GB吗?我的猜测是肯定的,但我有同事说,这将是SQL Server实例的5 GB和应用程序使用SQL Server实例的额外2 GB。
如果有人提供了一些您可以指出的信息,我将不胜感激。
答案 0 :(得分:2)
假设我有一台装有8 GB内存的机器,我安装了SQL Server。我将实例设置为最小和最大内存为5 GB,因此理论上这应该意味着SQL总是使用5 GB的内存
SQLServer(记住它是一个EXE)将其内存限制限制在5GB以及许多组件,如
1.Buffer pool
2.plan cache ..
将尝试争夺可用的5GB内存。
现在剩下3GB,还有其他组件,如..
1.Os本身
2.链接服务器
3.扩展存储过程
3.第三方dll或插件
4.Database email
4.SSIS
5.SSRS
尝试争夺可用的3GB内存..
假设应用程序连接到SQL数据库并需要2 GB内存。总内存使用量是否仍为5 GB?
你的应用程序需要2GB的概念对我来说并不清楚,但是想象一下,这么多需要大量内存的查询并行运行,SQL会坚持其有限的配额,但其他组件会像缓冲池一样饿死,计划缓存...