본문 바로가기

운영/성능 및 실행계획

시스템의 모든 계획 캐시를 제거하기

728x90

잘못된 실행 계획으로 시스템의 속도가 느려지고 있습니다.

원인이 되는 함수나 프로시저를 파악하기 힘든상황입니다.

 

시스템의 모든 계획 캐시를 제거하고 새로 생성하도록 유도합니다.

 

DBCC FREEPROCCACHE(Transact-SQL)

 

계획 캐시에서 모든 요소를 제거하거나, 계획 핸들이나 SQL 핸들을 지정하여 계획 캐시에서 특정 계획을 제거하거나,

지정한 리소스 풀에 연결된 모든 캐시 항목을 제거합니다.

 

구문

DBCC FREEPROCCACHE [ ( { plan_handle | sql_handle | pool_name } ) ] [ WITH NO_INFOMSGS ]

 

인수

( { plan_handle | sql_handle | pool_name } )plan_handle은 실행된 일괄 처리에 대한 쿼리 계획을 고유하게 식별하며 해당 계획은 계획 캐시에 있습니다.

plan_handle은 varbinary(64)이며, 다음 동적 관리 개체에서 가져올 수 있습니다.

sys.dm_exec_cached_plans

sys.dm_exec_requests

sys.dm_exec_query_memory_grants

sys.dm_exec_query_stats

 

sql_handle 지우려는 일괄 처리의 SQL 핸들입니다.

sql_handle은 varbinary(64)이며, 다음 동적 관리 개체에서 가져올 수 있습니다.

sys.dm_exec_query_stats

sys.dm_exec_requests

sys.dm_exec_cursors

sys.dm_exec_xml_handles

sys.dm_exec_query_memory_grants

 

pool_name은 리소스 관리자 리소스 풀의 이름입니다.

pool_name은 sysname이며

sys.dm_resource_governor_resource_pools 동적 관리 뷰를 쿼리하여 가져올 수 있습니다.

 

리소스 풀에 리소스 관리자 작업 그룹을 연결하려면

sys.dm_resource_governor_workload_groups 동적 관리 뷰를 쿼리하고,

세션의 작업 그룹에 대한 자세한 내용을 보려면 sys.dm_exec_sessions 동적 관리 뷰를 쿼리하십시오.

 

계획 캐시에서 모든 계획 삭제

DBCC FREEPROCCACHE WITH NO_INFOMSGS;

리소스 풀에 연결된 모든 캐시 항목 지우기

DBCC FREEPROCCACHE ('default');

 

728x90