1. 登录SQL Server实例
使用具有管理员权限的账户(如sa)通过sqlcmd工具登录SQL Server。执行以下命令:
sqlcmd -S localhost -U SA -P <YourPassword>
其中<YourPassword>替换为sa用户的实际密码。
2. 调整最大服务器内存(关键配置)
SQL Server的内存使用主要通过max server memory参数控制,该参数限制SQL Server实例可使用的最大内存(单位:MB)。合理设置可避免SQL Server占用过多内存导致系统或其他应用无法运行。
执行以下命令设置最大内存(示例为8GB,需根据服务器总内存调整,建议预留1-2GB给操作系统及后台进程):
EXEC sp_configure 'max server memory', 8192; -- 设置最大内存为8GB
RECONFIGURE; -- 应用配置
注意:若服务器仅运行SQL Server且无需其他应用,可将max server memory设置为物理内存的70%-80%(如16GB内存可设为11264-12288MB),以充分利用资源。
3. (可选)配置最小服务器内存
min server memory参数设置SQL Server实例可使用的最小内存(单位:MB),用于保证SQL Server在低负载时仍能保留基本内存,避免频繁申请/释放内存影响性能。执行以下命令设置(示例为4GB):
EXEC sp_configure 'min server memory', 4096; -- 设置最小内存为4GB
RECONFIGURE; -- 应用配置
提示:仅在SQL Server需要稳定内存环境(如高频查询场景)时设置,一般可保持默认值(0,即不限制最小内存)。
4. 验证配置是否生效
执行以下命令查看当前内存配置状态,确认run_value(实际运行值)与设置的值一致:
EXEC sp_configure 'max server memory';
EXEC sp_configure 'min server memory';
输出结果中,run_value列应显示你设置的数值(如8192或4096)。
5. 结合操作系统优化(增强效果)
/etc/sysctl.conf文件,添加以下配置(需重启系统生效):vm.nr_hugepages = 1024 # 数值根据服务器内存调整(每页2MB,1024页=2GB)
执行sudo sysctl -p使配置生效。/etc/security/limits.conf文件,添加:* soft nofile 65535
* hard nofile 65535
执行ulimit -n 65535立即生效。注意事项
sys.dm_os_process_memory动态管理视图),根据实际负载调整参数。