주기적으로 유지보수 할 때 싹 삭제함...
DECLARE @MB decimal(19,3) , @Count bigint, @StrMB nvarchar(20)
SELECT
@MB = sum(cast((CASE WHEN usecounts = 1 AND objtype
IN ('Adhoc', 'Prepared') THEN -- 범위를 정해줌
size_in_bytes ELSE 0 END)
as decimal(12,2)))/1024/1024
,@Count = sum(CASE WHEN usecounts = 1 AND objtype
IN ('Adhoc', 'Prepared') THEN 1 ELSE 0 END)
,@StrMB = convert(nvarchar(20), @MB)
FROM sys.dm_exec_cached_plans
IF @MB > 10
BEGIN
DBCC FREESYSTEMCACHE('SQL Plans') --10보다 크면 DBCC명령문으로 지워줌
RAISERROR ('%s MB was allocated to single-use plan cache. Single-use plans have been cleared.', 10, 1, @StrMB)
END
ELSE
BEGIN
RAISERROR ('Only %s MB is allocated to single-use plan cache – no need to clear cache now.', 10, 1, @StrMB)
END
GO
'Database > MSSQL work' 카테고리의 다른 글
SQL 자동튜닝 설정 코드 (0) | 2020.11.25 |
---|---|
PLAN CACHE에대해 (예상실행계획)내부 결과를 반환하는 캐시쿼리 (0) | 2020.11.25 |
PLAN CACHE에서 단일 사용계획에 사용되는 메모리양을 확인 할 때 사용하는 쿼리 (0) | 2020.11.25 |
PLAN CACHE에서 단일 실행계획을 찾고, 또 삭제하는 캐시 쿼리 명령어 (0) | 2020.11.25 |
CLUSTERED/ NONCLUSTERED 예상실행계획 비교 (0) | 2020.11.24 |