我为我们的 ERP 软件构建了一个新的 2 CPU 8 核 40 GB 内存的服务器,该服务器在 Win Server 2008 标准 R2 上使用 Sql Server 2008 R2,Sql 中有 7 个数据库,其中 2 个用于测试,2 个用于保存公司数据,另外 3 个用于 ERP 核心操作,但它们都用于 ERP 软件,还有 7 个作业正在运行(按时间安排),到目前为止,数据库的最大大小为 470.88 MB,但 Sql 使用了内存 20 GB 的一半,我通知了 ERP 软件技术人员,他们告诉我这是正常的,他们将 SQL 内存使用限制为 20 GB,这看起来很可疑,我对 Sql 没有太多信息,也不想破坏任何 Sql 设置,我在互联网上搜索了很多,他们都说 Sql 消耗了太多内存,你给 Sql 使用多少,是真的吗,我能用我有限的 Sql 知识做些什么吗,因为有公司中有 30 个人使用 ERP 软件,但它的速度有时会变慢。
答案1
添加内存?
认真说。SQL Server 标准使用其能够获得的所有内存作为缓存 - 这是更大设置的标准配置。在更大的场景中,与其他东西共享 SQL Server 是行不通的。
如果您限制 SQL Server 内存 - 这是服务器级别的设置,可以更改。也就是说:20gb 可能没问题 - 取决于数据库的大小和热集(即 SQL Server 正在主动使用的数据 - 缓存不会进入并加载从未触及的数据)。如果是这种情况 - 我建议您进入并输入一个较低的数字。
http://msdn.microsoft.com/en-us/library/ms178067.aspx
有配置选项。可能是他们没有将其设置为 MAX 20gb,而是设置为 20GB - 最小值和最大值 - 因此 SQL Server 将占用 20GB,无论是否合理。使用管理工作室登录,在服务器节点中检查选项,有最小和最大内存设置 - 所有这些都在链接中进行了解释,我提供了一些行。显然,如果您的数据库很小,那么最小 20gb 根本没有意义。是的,半个千兆字节确实很小 - 其中 7 个仍然是最小的。我认为 ERP 只是预先配置了 20 作为最小值和最大值,这就是 SQL 预分配 20gb 的原因。
顺便问一下,你是怎么得到新的 2 CPU 8 核的?这听起来已经是相当过时的技术了,或者你关闭了四核英特尔 CPU 上的 hyper-v。
顺便说一句,除非您有一个良好的磁盘布局,否则它总是会减慢 SQL Server 和服务器的速度。高负载 SQL 很难设置 - 人们实际上会规划磁盘布局以获得最佳 IO 性能。