sqlserver 内存释放心得SQL Server 2024 或者 R2 的默认内存分配是 47MB, 差不多算是无穷大,对于系统内存的管理策略是有多少占多少
SQLserver 会把所有处理过的 SQL 操作缓存在内存里,这样就不用总去读硬盘了
但是假如长时间运行 SQL Server, 系统内存被用的差不多,再开启其他程序就有可能会报内存不足
这时候就需要释放内存缓存啦
一般我用以下两种办法: 1
很简单,打开 SQL Server configuration Manager,然后把 SQL Server(MSSQLSERVER)重启一下,一般默认的 instance 就是MSSQLServer,当然你假如装了其他的 instance(实例)就选择相应的,例如MSSQLServer(SQLServLatin1), MSSQLServer(ARABIC)
这种方法最简单有效,但是只能临时的清除 SQLServer 缓存所占的内存空间,时间长了 SQLServer 还会把内存占满
而且很重要的是这种方法不能在 SQLserver有连接的情况下使用,那样会让正在使用 SQLServer 的用户临时无法连接SQLServer,甚至导致程序处错误
而你作为管理员就……第二种方法比较复杂,我也不是 SQLServer 高手,只是从网上学习得来的一些 query:DBCC FREEPROCCACHE DBCC FREESESSIONCACHE DBCC FREESYSTEMCACHE('All') DBCC DROPCLEANBUFFERS以上一段一般能释放缓存,(注意引号有的时候因为 word 文档里打不出英文的引号,最好拷到记事本里编辑一下)但是有的时候不是很管用
因为 SQLserver 不会因为Cache(缓存)释放了而释放内存,占了茅坑不一定 XX