在 SQL Server 中,我通常将最大服务器内存设置为流行的最佳实践之一,例如保留 10% 或 4GB,以较高者为准。
http://www.brentozar.com/archive/2012/11/how-to-set-sql-server-max-memory-for-vmware/
我有一个 64GB RAM 的新服务器。由于许可限制,此服务器必须运行 SQL Server 数据库引擎、SSIS 和 SSAS。SSIS ETL 在一夜之间发生,用户主要在白天访问实际数据库。在这种情况下,是否最好保留默认设置,以便 SSIS 可以在需要时占用内存,然后数据库引擎可以在需要时占用内存?
您应该始终将您的最大内存设置为远离默认值,并为操作系统留出一些空间(请参阅 Jonathan 的帖子,关于根据安装的 RAM 量留下多少内存)。
Jonathan Kehayias 曾在博客上写过:我的 SQL Server 实际需要多少内存?
您也可以在此处参考我的答案以获取更多详细信息。
不,不要将其保留为默认设置,因为操作系统无响应、工作集修剪以及服务器上运行的其他应用程序等问题都会受到不利影响。它也会影响您的备份。
请注意,SQL Server 2012 及更高版本的内存管理器已更改。
您有一个使用 SSIS 和 SSAS 的复杂环境,因此您必须谨慎设置 SQL Server 的最大服务器内存。在您的场景中,乔纳森的博客不会提供完整的帮助。您应该参考此 Microsoft 链接来确定 SSIS 的内存要求
您应该留出足够的内存
OS,SSIS,SSAS
以正常运行,因为SSIS,SSAS
不会从缓冲池中占用内存。您可以从给予10-15 G to OS
和休息到 SQL 服务器开始。然后使用 perfmon 计数器监控 SSIS 和 SQL 服务器内存使用情况。关于为 SQL 服务器保留多少内存,您应该借助 Perfmon 计数器。本文将提供 perfmon 计数器的详细信息,以监视获取 SQL Server 的最大 serevr 内存的准确值
SQLServer:缓冲区管理器--页面预期寿命(PLE)
SQLServer:缓冲区管理器--CheckpointPages/sec
SQLServer:缓冲区管理器--Freepages
SQLServer:内存管理器--内存授予挂起
SQLServer:内存管理器--目标服务器内存:
SQLServer:memory Manager--服务器总内存