본문 바로가기

운영/성능 및 실행계획

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

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
반응형