적용 대상: SQL Server 2016 (13.x) 및 이후 버전
: Azure SQL 데이터베이스,
Azure SQL Managed Instance
,Microsoft Fabric의 SQL 데이터베이스
쿼리 저장소 특정 쿼리에 대해 이전에 강제 계획 적용을 해제할 수 있습니다.
구문
sp_query_store_unforce_plan
[ @query_id = ] query_id ,
[ @plan_id = ] plan_id ,
[ @replica_group_id = ] 'replica_group_id'
[ ; ]
인수
중요하다
확장 저장 프로시저에 대한 인수는 구문 섹션에 설명된 대로 특정 순서로 입력해야 합니다. 매개 변수를 순서대로 입력하면 오류 메시지가 발생합니다.
[ @query_id = ] query_id
쿼리의 ID입니다. @query_id 기본값 없이 bigint입니다.
[ @plan_id = ] plan_id
더 이상 적용되지 않는 쿼리 계획의 ID입니다. @plan_id 기본값 없이 bigint입니다.
[ @replica_group_id = ] 'replica_group_id'
읽기 가능한 보조 데이터베이스에 대한 쿼리 저장소 를 사용하는 경우 보조 복제본에서 계획을 강제 적용 해제할 수 있습니다. 주 복제본에서 sp_query_store_force_plan 실행하고 sp_query_store_unforce_plan.
@replica_group_id 인수를 사용하면 명령이 실행되는 로컬 복제본이 기본적으로 사용되지만 sys.query_store_plan_forcing_locations 시스템 카탈로그 뷰를 참조하는 replica_group_id 지정할 수 있습니다.
반환 코드 값
0(성공) 또는 1(실패).
사용 권한
데이터베이스에 ALTER 대한 권한이 필요합니다.
비고
보조 복제본용 쿼리 스토어는 SQL Server 2025(17.x) 이후 버전과 Azure SQL Database에서 지원됩니다. 완전한 플랫폼 지원은 보조 복제본에 대한 쿼리 스토어를 참조하세요.
예제
다음 예제에서는 쿼리 저장소 쿼리에 대한 정보를 반환합니다.
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 식별한 후 다음 예제를 사용하여 계획을 강제 해제합니다.
EXECUTE 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)
- 쿼리 저장소를 사용하여 성능 모니터링
- 쿼리 저장소에 대한 모범 사례