sql-server – 如何释放空闲SQL Server数据库使用的内存?
发布时间:2020-12-12 16:13:03 所属栏目:MsSql教程 来源:网络整理
导读:我们有一个SQL Server与几百个数据库.该服务器上的许多数据库每周仅使用几次.我们有一个问题,SQL Server有时变得非常慢.当发生这种情况时,内存使用率指示为99%,并发生分页.为了解决这个问题,我们每天晚上安排重新启动SQL服务,以卸载所有这些数据库并释放内存
我们有一个SQL Server与几百个数据库.该服务器上的许多数据库每周仅使用几次.我们有一个问题,SQL Server有时变得非常慢.当发生这种情况时,内存使用率指示为99%,并发生分页.为了解决这个问题,我们每天晚上安排重新启动SQL服务,以卸载所有这些数据库并释放内存.
释放空闲数据库使用的内存而不使SQL Server失效的正确方法是什么?我们希望自动卸载在过去30分钟内未被访问的任何数据库. 注意:我正在寻找一个适用于SQL 2005的解决方案.但是,如果SQL 2008中有一个功能,我想知道这一点. 解决方法SQL Server将自动释放所有可以释放的内存,并避免分页.如果遇到分页,则99%的内存正在使用中,无法释放.您需要调查内存是如何使用的,可能是外部组件(如sp_oa_xxx)创建的对象或分布式查询.首先调查内存消费者,查看sys.dm_os_memory_clerks 并阅读
How to use the DBCC MEMORYSTATUS command to monitor memory usage on SQL Server 2005.
作为附注,您已经有自动关闭不使用的数据库的方法:
如果您托管数百个很少使用的数据库,那么AUTO_CLOSE正是您要查找的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |