적용 대상:SQL Server 2016(13.x) 이상
Azure SQL 데이터베이스
Azure SQL Managed Instance
쿼리 저장소 특정 쿼리에 대해 이전에 강제 계획 적용을 해제할 수 있습니다.
구문
sp_query_store_unforce_plan
[ @query_id = ] query_id ,
[ @plan_id = ] plan_id ,
[ @force_plan_scope = ] 'replica_group_id'
[ ; ]
인수
중요하다
확장 저장 프로시저에 대한 인수는 구문 섹션에 설명된 대로 특정 순서로 입력해야 합니다. 매개 변수를 순서대로 입력하면 오류 메시지가 발생합니다.
[ @query_id = ] query_id
쿼리의 ID입니다. @query_id 기본값 없이 bigint입니다.
[ @plan_id = ] plan_id
더 이상 적용되지 않는 쿼리 계획의 ID입니다. @plan_id 기본값 없이 bigint입니다.
[ @force_plan_scope = ] 'replica_group_id'
보조 복제본에 대한 쿼리 저장소를 경우 보조 복제본에서 계획을 강제 적용 해제할 수 있습니다. 주 복제본에서 sp_query_store_force_plan
실행하고 sp_query_store_unforce_plan
.
@force_plan_scope 인수를 사용하면 명령이 실행되는 로컬 복제본으로 기본 설정되지만 sys.query_store_plan_forcing_locations 시스템 카탈로그 뷰를 참조하는 replica_group_id 지정할 수 있습니다.
반환 코드 값
0
(성공) 또는 1
(실패).
사용 권한
데이터베이스에 대한 ALTER 권한이 필요합니다.
예제
다음 예제에서는 쿼리 저장소 쿼리에 대한 정보를 반환합니다.
SELECT txt.query_text_id,
txt.query_sql_text,
pl.plan_id,
qry.*
FROM sys.query_store_plan AS pl
INNER JOIN sys.query_store_query AS qry
ON pl.query_id = qry.query_id
INNER JOIN sys.query_store_query_text AS txt
ON qry.query_text_id = txt.query_text_id;
강제 해제하려는 query_id 및 plan_id 식별한 후 다음 예제를 사용하여 계획을 강제 해제합니다.
EXEC sp_query_store_unforce_plan 3, 3;
관련 콘텐츠
- sys.query_store_replicas(Transact-SQL)
- sys.query_store_plan_forcing_locations(Transact-SQL)
- sp_query_store_force_plan(Transact-SQL)
- sp_query_store_remove_plan(Transact-SQL)
- sp_query_store_remove_query(Transact-SQL)
- sp_query_store_reset_exec_stats(Transact-SQL)
- sp_query_store_flush_db(Transact-SQL)
- 쿼리 저장소 카탈로그 뷰(Transact-SQL)
- 쿼리 저장소를 사용하여 성능 모니터링
- 쿼리 저장소에 대한 모범 사례