CACHESTORE_SQLCP Sql 계획은 며칠 후에 38GB를 초과합니다.
"Ad Hoc 워크로드 최적화"옵션이 이미 실행 중입니다. 엔터티 프레임 워크 및 사용자 지정보고는 많은 임시 작업을 생성합니다!
다중 AZ 미러링을 사용하는 AWS RDS의 SQL Server 2016 SE 3.00.2164.0.v1
내가 실행할 때 :
DBCC FREESYSTEMCACHE('SQL Plans');
또는
DBCC FREEPROCCACHE
또는
DBCC FREESYSTEMCACHE ('SQL Plans') WITH MARK_IN_USE_FOR_REMOVAL
또는
DBCC FREESYSTEMCACHE ('ALL') WITH MARK_IN_USE_FOR_REMOVAL;
그것을 지우지 않는 것 같습니다 :
SELECT TOP 1 type, name, pages_kb FROM sys.dm_os_memory_clerks ORDER BY pages_kb desc
type name pages_kb
CACHESTORE_SQLCP SQL Plans 38321048
Query Store를 사용하여 실행했지만 아무것도 방해하지 않는지 확인하지 못했지만 도움이되지는 않았지만 중단했습니다.
정말 이상한 것도
SELECT COUNT(*) FROM sys.dm_exec_cached_plans
1 ~ 3 정도입니다 (현재 실행중인 쿼리 만 표시하는 것 같습니다). 내가 무엇을 놓치고 있습니까?
CACHESTORE_SQLCP가 사용 가능한 모든 메모리의 60 % 이상을 차지하고 있습니다. 때때로 메모리 대기가 발생하기 때문에 문제가됩니다. 또한 부족한 메모리가 대기를 쌓아 올렸기 때문에 주말 동안 4 시간 동안 지속되는 일상적인 DBCC CHECKDB를 종료해야했습니다 (PHYSICAL_ONLY가 켜져있는 동안 오류없이 즉시 완료 됨).
이 메모리를 회수 할 수있는 방법이 있습니까 (야간 재부팅 제외)?
의견 / 답변에서 업데이트
내가 달릴 때
SELECT * FROM sys.fn_my_permissions(NULL,NULL)
나는 얻다
entity_name subentity_name permission_name
server CONNECT SQL
server CREATE ANY DATABASE
server ALTER ANY LOGIN
server ALTER ANY LINKED SERVER
server ALTER ANY CONNECTION
server ALTER TRACE
server VIEW ANY DATABASE
server VIEW ANY DEFINITION
server VIEW SERVER STATE
server ALTER SERVER STATE
server CREATE SERVER ROLE
server ALTER ANY SERVER ROLE
필요한 ALTER SERVER STATE
권한이 포함되어 있습니다 .
의 출력 DBCC FREEPROCCACHE
은
DBCC 실행이 완료되었습니다. DBCC가 오류 메시지를 인쇄 한 경우 시스템 관리자에게 문의하십시오.
표준 메시지입니다. RDS가 지원하지 않는 다른 DBCC 기능은 권한에 대한 오류 메시지를 제공합니다.
(하루 후 다시 실행 한 후에도 SQL 계획은 여전히 38,321,280 kb입니다)
의견 / 답변에서 업데이트
SELECT pool_id, name, cache_memory_kb, compile_memory_kb FROM sys.dm_resource_governor_resource_pools
출력 :
pool_id name cache_memory_kb compile_memory_kb
1 internal 38368408 1168080
DBCC FREEPROCCACHE ('internal')
다르게 행동하지 않습니다
최신 정보
SQL 오류 로그는 매번 다음을 기록합니다.
2017-10-19 14:26:47.22 spid85 SQL Server has encountered 1 occurrence(s) of cachestore flush for the 'Object Plans' cachestore (part of plan cache) due to 'DBCC FREEPROCCACHE' or 'DBCC FREESYSTEMCACHE' operations.
2017-10-19 14:26:47.22 spid85 SQL Server has encountered 1 occurrence(s) of cachestore flush for the 'SQL Plans' cachestore (part of plan cache) due to 'DBCC FREEPROCCACHE' or 'DBCC FREESYSTEMCACHE' operations.
2017-10-19 14:26:47.22 spid85 SQL Server has encountered 1 occurrence(s) of cachestore flush for the 'Bound Trees' cachestore (part of plan cache) due to 'DBCC FREEPROCCACHE' or 'DBCC FREESYSTEMCACHE' operations.
최신 정보
RDS의 엔진 버전이 13.00.2164.0.v1에서 13.00.4422.0.v1로 업그레이드되었습니다. 자동 마이너 버전 업그레이드로 설정되어 있지만 최신 버전으로 업데이트하지 않는 것 같습니다. 이번 주말에 재부팅하고 설치하여 도움이되는지 확인하십시오.