首选,感谢博主shield-hand的一篇文章(ms sql
server缓存清除与内存释放)。写的非常细致、简洁。我这里并不是自己写博客,而是用自己的思维将众多博文或官网资料做一次整合。
在讲解问题发生原因之前,我先贴出来解决方案。之后再详细剖析其深层次的原因。
ms
sql
server缓存清除与内存释放这篇文章已经给出了非常完美的方案,我就不再赘述了。有一个问题需要注意下,就是脚本操作中最好修个成以下形式:
USE [IVMS8100]
GO
/****** Object: StoredProcedure [dbo].[ClearMemory] Script Date: 04/13/2010 14:28:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/***start***/
----强制释放内存
CREATE PROCEDURE [dbo].[ClearMemory]
AS
BEGIN
--清除所有缓存
DBCC DROPCLEANBUFFERS
--打开高级配置
EXEC sp_configure ‘show advanced options‘, 1
----设置最大内存值,清除现有缓存空间
EXEC sp_configure ‘max server memory‘, 256
EXEC (‘RECONFIGURE‘)
--设置等待时间
WAITFOR DELAY ‘00:00:01‘
--重新设置最大内存值
EXEC sp_configure ‘max server memory‘, 4096
EXEC (‘RECONFIGURE‘)
--关闭高级配置
EXEC sp_configure ‘show advanced options‘,0
END
/***end***/
参考文献:
ms sql server缓存清除与内存释放如何释放sql
server 2005占用的内存?
windows 2003
server性能监视器(转)
SQL Server 存储过程
存储过程编写经验和优化措施
SQL
SERVER读书笔记:内存
SQL Server内存不足解决,以及涉及到的知识点
时间: 2024-12-19 19:18:51