一、SQL 设置最大值内存和最小值内存
发现个问题,内存居高不下,32G的内存,占用90%以上,结果差点把服务器给拖垮
例如:


首先处理数据库自身的设置

在数据库服务器名称上点击【右键】,选择【属性】,然后,找到【内存】选项,在右边的【使用AWE分配内存】(sqlServer64的应该不用勾)左边把对勾打上。在最大服务器内存(MB)上填入适当的大小(具体填多大,肯定不能超过计算机的物理内存)

这里的内存的理解:
可以认为最大服务器内存,设定的是服务器本身的扩张上限,而最小服务器内存限定的是sqlserver扩张的上限
毕竟sqlserver写数据的时候,是写在硬盘上,离不开消耗服务器的性能,在服务器内存够大的情况下,限定了服务器使用内存的上限,不仅限定了其他进程占用内存的上限,实际上也就等于限定了读写性能。所以最大服务器内存应该尽可能的大一些
二、设置windows 自动重启任务

自定义创建一个任务名称自己明白就行
设置每天或者每周,这里设置每天
命令:shutdown -r -t 10
这个命令是在设置的时间 ,10秒后执行命令

设置windows自动重启任务 命令说明:

第二种自动重启 [ 水数字 : ) ] 基本与上面的一致

参数可参考上面的命令说明
三、程序方面的内容:
- sql 查询 可以加 with(nolock) 的都加上,例如:

其他数据库,自行查询一下
2.sql 表该加索引就加上
例如:

设置好以上,应该能解决大部分问题

针对服务器内存占用过高的问题,本文提出了三个解决方案:一是调整SQL Server的最大和最小内存设置,以平衡数据库性能和系统资源;二是设置Windows自动重启任务,确保服务器定期释放资源;三是从程序层面优化,如使用with(nolock)提示和添加索引来提升查询效率。

5332

被折叠的 条评论
为什么被折叠?



